Arbitrum Orbit Deployment
Arbitrum Orbit is a Rollup Development Kit (RDK) developed by Offchain Labs to enable rollup developers to build using the same software that powers Arbitrum One and Arbitrum Nova.
EigenDA Proxy
Arbitrum nodes communicate with EigenDA via the proxy for secure communication and low code overhead. More information can be found here. An instance of proxy must be spun-up to use this integration. In your node config, this will look like:
"eigen-da": {"enable": true,"rpc": "http://eigenda_proxy:4242"}
How to deploy a Rollup Creator integrated with EigenDA
-
Assuming you have yarn and hardhat installed.
-
Download the nitro contracts source code from the EigenDA fork using latest stable version.
-
Specify required environment variables:
DEPLOYER_PRIVKEY
,PARENT_CHAIN_RPC
, andEIGENDA_ROLLUP_MANAGER_ADDRESS
. Optionally, you can also specifyMAX_DATA_SIZE
,FEE_TOKEN_ADDRESS
, andCREATOR_DEPLOYMENT_INFO
.If the
EIGENDA_ROLLUP_MANAGER_ADDRESS
is unspecified, then one will be deployed automatically based on the parent chain context. -
Run the rollup creator deployment script that deploys all necessary contracts and sets up the rollup creator template.
yarn hardhat run scripts/local-deployment/deployCreator.ts
The script will take a few minutes to complete as it prints out the addresses of the deployed contracts along the way. Lastly, the script will write the deployed contracts to the CREATOR_DEPLOYMENT_INFO
file you specified. Upon completion, your rollup creator factory is ready to use to deploy new chains.
How to deploy a Rollup using pre-deployed Rollup Creators
We support rollup creators using EigenDA contracts and blob verifiers on the following networks:
version | network | rollup creator address | blob verifier (EIGENDA_ROLLUP_MANAGER) address |
---|---|---|---|
v2.1.0 | Ethereum Mainnet | 0xAf5F13b5aB7a5da24f8b2808a032296Ef3476AF6 | 0x187fb3c0664c5d49ce1f051af913fcadbcd7bb3f |
v2.1.0 | Ethereum Holesky | 0x4449adCcad953ce8feB2FD50707B17f876bBDEf4 | 0x19354e59F89B3B8D5A77494e81433ceDB093699A |
v2.1.0 | Arbitrum Mainnet | 0x8c83b9c670E90A4fAbf19E6fCb267caf12644a87 | 0x4a6e6833dc8748aa3e6d6a68aae9b7b40afbb3d5 |
v2.1.0 | Arbitrum Sepolia | 0x4264420318Ba09C29dbbe402b3f16Ee13903a031 | 0x5ce8b81e0E8271bA8Dd33190a8aC2960f9917Ef9 |
v2.1.0 | Base Mainnet | 0xaFa98453F1f3B1Ea7629e67621a29B7Be4AC225A | 0x4a6e6833dc8748aa3e6d6a68aae9b7b40afbb3d5 |
v2.1.0 | Base Sepolia | 0xfc2a0CD44A6CB0b72d5a7F8Db2C044F62db50781 | 0xA0735f425792eCcDA1b8f50ceB36B05635c77D63 |
Procedure
-
Assuming you have yarn and hardhat installed.
-
Download the nitro contracts source code from the EigenDA fork using latest stable version.
-
Specify required environment variables:
DEPLOYER_PRIVKEY
,PARENT_CHAIN_RPC
, (optional)FEE_TOKEN_ADDRESS
,ROLLUP_CREATOR
,EIGENDA_ROLLUP_MANAGER
. -
Run the rollup creation script that deploys all necessary system contracts via the pre-deployed rollup creator.
yarn hardhat run scripts/local-deployment/createRollup.ts
Deploy using our hosted Rollup Creators
The Orbit documentation provides a comprehensive overview for how one can trigger new chain deployments using already deployed rollup creators. If you'd like to leverage the orbit-sdk please use our fork here.
How to deploy a Rollup on Testnet using our UI
While you can interact with the deployed Rollup creator directly, we recommend using our orbit chain deployment portal to deploy a rollup for a friendlier devx and easy-to-use configs. Currently, the only supported testnets are:
- Ethereum Holesky
- Arbitrum Sepolia
Steps
-
Start by clicking the button "Launch on holesky testnet" and connect a wallet using your preferred wallet provider.
-
Choose EigenDA as the Chain Type, and click Next.
-
Customize your rollup's configurations, such as the Chain ID, Chain Name, Batch posters, Validators, EigenDA Rollup Manager, and more.
-
Click "Deploy" and sign the transaction to create the rollup contracts.
-
Once your rollup is deployed, you will be redirected to review the rollup configurations. Make sure to download the zip file containing your chain and node config files, and store them somewhere handy.
-
Go to the next page and follow the instructions there to set up a nitro sequencer using the downloaded config files to power the rollup. If you've completed these steps successfully, you are now running an Arbitrum Orbit rollup that uses EigenDA!
Token Bridge
The Arbitrum token bridge can be enabled to support L1 to/from L2 bridging of ERC-20 assets. Since the token bridge is a wrapper on-top of the existing L1 to/from L2 native bridge, there are no changes necessary to enable it. Additionally, the existing token bridge creators maintained by Offchain labs can be leveraged to deploy token bridges on-top of existing inboxes integrated EigenDA.
Troubleshooting
- If your nitro setup script node encounters a warning
error getting latest batch count: no contract code at given address
, you should first verify that: A. That theSequencerInbox
entry in your/config/orbitSetupScriptConfig
maps to a successfully deployed contract B. Your RPC provider is sufficiently reliably. Transient errors are common when leveraging free and public RPC providers