>=0.5.28, connecting to Arbitrum Mainnet after the
LIP-73 block.
Prerequisites for all chains
- 
Your connected Ethereum account should have enough ETH to cover gas for the
migratetransaction. If you do not have ETH in your wallet, you can add some using another wallet or an on-ramp so you can buy enough for themigratetransaction. - 
You can complete the migration using the
Livepeer Explorer.
Alternatively, you may opt to sign a typed data message via 
livepeer_cli, instead. - Ensure you are interacting with the correct contracts. Addresses can be found here.
 - If you use a contract account rather than an EOA: You will need to interact directly with the Migrator contract methods following the Contract Wallet Migration guide.
 
If you are not familiar with this, it may not apply to you.
- Use a 
go-livepeerrelease>= 0.5.28. - To register your Orchestrator on the destination chain, bridge some ETH to pay for the transaction.
 
On Mainnet
This guide applies to orchestrators who registered on-chain on the Ethereum mainnet prior to February 14th, 2022. It can be used starting on February 14th, 2022 onward.Once you have successfully completed the migration, this guide is no longer
applicable and you will use Arbitrum in lieu of Ethereum for all protocol
actions.
RPC url for
Arbitrum:
- Set up an Arbitrum node, or
 - 
Acquire an Arbitrum 
RPC urlusing a third-party service (e.g., Alchemy or Infura). 
On Testnet
This guide is applicable to orchestrators who registered on-chain on Rinkeby prior to January 24th, 2022. Note: Once you have successfully completed the migration, this guide is no longer applicable and you will use Arbitrum Rinkeby in lieu of Rinkeby for all protocol actions. Before starting the migration process, you will need to acquire anRPC url for
Arbitrum. We recommend using
the Offchain Labs public testnet endpoint.
Alternatively, you can:
- Set up an Arbitrum node, or
 - Acquire an Arbitrum 
RPC urlusing a third-party service, 
For example:
Migrating to Arbitrum
- 
Connect your wallet
If you have not connected a wallet, connect one using the prompt in the upper
left-hand corner of the Livepeer Explorer.
The wallet you choose should contain a small amount of ETH to pay for the
migratetransaction.Note: You do not have to use the same wallet you use for your orchestrator. However, if you are using a different wallet to submit the transaction, you will still need to access the wallet that you use for your orchestrator so that you can sign a typed data message.
For example:
 - Navigate to the L2 Migration Tool to begin migration to Arbitrum:
 
- 
Sign the 
migratetransaction: You can sign to authorize the migration transaction with one of the following: 4a. Sign using a connected wallet. If you prefer to sign using the wallet that you have connected to the explorer, click “Approve Migration” and approve the transaction using your browser extension.
4b. Sign using the livepeer_cli. If you prefer to sign a typed data message through thelivepeer_cli, connect your wallet to the explorer with any other account. You will be prompted to enter the public address of the orchestrator you wish to migrate.Note: If you are signing with the CLI and your connected wallet is NOT your orchestrator wallet, the stake amount will not appear until after you enter your Ethereum account address.
Once you have entered an address, you will see a message to sign and a text
entry box for the signature.
 
- 
Copy the message provided. Then go into your CLI and select option 19: Sign
Typed Data.
 - 
Follow the CLI’s prompts to generate a signature.
Note: For 
Windowsusers, after pasting the typed data you will need to typectrl+Z, instead ofctrl+D.
 - 
Paste this message in the provided box and click Continue.
 - 
Click 
Approve Migrationto send the transaction to Ethereum. The connected browser wallet will pay gas, but it will use the provided signature. 
- 
View your profile:
Once the 
migratetransaction has been confirmed (this usually takes up to 10 minutes between mainnet and Arbitrum), you should see a link to your profile where you will be able to see your newly claimed balances. You will see an Arbiscan link to thetransaction idto view the submitted transaction. - 
Restart your Orchestrator, pointing at Arbitrum instead of mainnet as
follows:
5a. Find your Arbitrum RPC Url
Note: If you prefer to run your own Arbitrum node, you should start it at this time. Otherwise, you should find the Arbitrum RPC Url that you created at the beginning of this guide.
5b. Restart your Orchestrator with an updated configuration Once you are ready, you should restart your orchestrator using your usual flags, changing only thenetworkandethUrl. 
chainID of 4, but got 421611 instead. You may have
changed networks without changing network name or datadir.
This indicates your testnet setup is trying to access the same .lpData that it
used for mainnet, and it is finding a conflict on chainId.
To fix this error:
- 
Specify a new data directory using the 
-datadirflag when you start your Orchestrator. Specify only the directory, not the file. Additionally, you may need to copy your keystore to/.lpData/arbitrum-one-< mainnet / rinkeby >/keystore. 
- Register your service URI and fee structure on Arbitrum using
Set orchestrator config: 
6a. Select the following option using livepeer_cli:
13: Set orchestrator config
6b. Acquire some arbETH to pay for the transaction:
- Use the Arbitrum bridge to send Ethereum on Layer 1, to Arbitrum on Layer 2, over the appropriate (i.e. Mainnet or Rinkeby) network.