Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion boba_community/boba-node/.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ RELEASE_VERSION=v0.X.X
# Mainnet
L1_NODE_WEB3_URL=https://mainnet.infura.io/v3/YOUR_INFURA_KEY
# Rinkeby
L2_NODE_WEB3_URL=https://rinkeby.infura.io/v3/YOUR_INFURA_KEY
L1_NODE_WEB3_URL=https://goerli.infura.io/v3/YOUR_INFURA_KEY
14 changes: 7 additions & 7 deletions boba_community/boba-node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ The [boba_community/boba-node](../../boba_community/boba-node) repo runs a repli

## Basic Considerations

1. Running a local Boba node (replica) does not allow you to mine ETH, OMG, or BOBA. There is no mining on L2.
1. Running a local Boba node (replica) does not allow you to mine ETH, OMG, or BOBA. There is no mining on L2.

2. If you looking for best possible rpc read data (lowest possible latency) you are **strongly advised** not to run your own node, but to use **https://lightning-replica.boba.network**. This is an autoscaling rpc endpoint that speaks directly to the core Boba L2 geth.
2. If you looking for best possible rpc read data (lowest possible latency) you are **strongly advised** not to run your own node, but to use **https://lightning-replica.boba.network**. This is an autoscaling rpc endpoint that speaks directly to the core Boba L2 geth.

3. The Boba L2 is (at present) a single proposer/sequencer system and the only way to write transactions is via **https://mainnet.boba.network**. You cannot use a local node to write transactions.

4. If your application _does not need autoscaling and low latency_, and can tolerate sync delays, you can run your own Boba node (replica). This replica will try to follow the core L2 geth via data provided by Infura and **https://lightning-replica.boba.network**, so it will necessarily lag behind **https://lightning-replica.boba.network**.
4. If your application _does not need autoscaling and low latency_, and can tolerate sync delays, you can run your own Boba node (replica). This replica will try to follow the core L2 geth via data provided by Infura and **https://lightning-replica.boba.network**, so it will necessarily lag behind **https://lightning-replica.boba.network**.

5. Please design your rpc connectors in a resource efficient manner. Notably, calling `eth_getLogs(fromBlock: 0)` 1000 times per second serves no conceivable purpose since the Ethereum blocktime is 12 seconds and the Boba blocktime is > 1 second. All that does is to degrade your replica and trigger rate-limiting and/or IP blocking at **https://lightning-replica.boba.network**.
5. Please design your rpc connectors in a resource efficient manner. Notably, calling `eth_getLogs(fromBlock: 0)` 1000 times per second serves no conceivable purpose since the Ethereum blocktime is 12 seconds and the Boba blocktime is > 1 second. All that does is to degrade your replica and trigger rate-limiting and/or IP blocking at **https://lightning-replica.boba.network**.

## Prerequisites

Expand All @@ -38,23 +38,23 @@ RELEASE_VERSION=v0.X.X

L1_NODE_WEB3_URL=https://mainnet.infura.io/v3/YOUR_INFURA_KEY # for mainnet
# Or ...
L2_NODE_WEB3_URL=https://rinkeby.infura.io/v3/YOUR_INFURA_KEY # for rinkeby
L1_NODE_WEB3_URL=https://goerli.infura.io/v3/YOUR_INFURA_KEY # for goerli
```

**Pull images**

```bash
$ docker compose pull # for mainnet
# or...
$ docker compose -f docker-compose-rinkeby.yml pull #for rinkeby
$ docker compose -f docker-compose-goerli.yml pull #for goerli
```

**Start your replica node**

```bash
$ docker-compose up # for mainnet
# or...
$ docker compose -f docker-compose-rinkeby.yml up #for rinkeby
$ docker compose -f docker-compose-goerli.yml up #for goerli
```

The DTL will first sync with the chain. During the sync, you will see the DTL and Replica gradually catch up with the Boba L2. This can take several minutes to several hours, depending on which chain you are replicating.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ services:
container_name: dtl
image: bobanetwork/data-transport-layer:${RELEASE_VERSION}
env_file:
- ../../ops/envs/dtl-rinkeby.env
- ../../ops/envs/dtl.env
environment:
<< : *l1_rpc_dtl
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: https://rinkeby.boba.network
DATA_TRANSPORT_LAYER__L2_RPC_ENDPOINT: https://goerli.boba.network
DATA_TRANSPORT_LAYER__SYNC_FROM_L1: 'false'
DATA_TRANSPORT_LAYER__SYNC_FROM_L2: 'true'
DATA_TRANSPORT_LAYER__L2_CHAIN_ID: 28
DATA_TRANSPORT_LAYER__ETH1_CTC_DEPLOYMENT_HEIGHT: 10268193
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER: '0x93A96D6A5beb1F661cf052722A1424CDDA3e9418'
DATA_TRANSPORT_LAYER__L2_CHAIN_ID: 2888
DATA_TRANSPORT_LAYER__ETH1_CTC_DEPLOYMENT_HEIGHT: 7867494
DATA_TRANSPORT_LAYER__ADDRESS_MANAGER: '0x6FF9c8FF8F0B6a0763a3030540c21aFC721A9148'
DATA_TRANSPORT_LAYER__BSS_HARDFORK_1_INDEX: 0
DATA_TRANSPORT_LAYER__TURING_V0_HEIGHT: 0
DATA_TRANSPORT_LAYER__TURING_V1_HEIGHT: 0
volumes:
- ./state-dumps/rinkeby/:/opt/optimism/packages/data-transport-layer/state-dumps/
- ./state-dumps/goerli/:/opt/optimism/packages/data-transport-layer/state-dumps/
logging:
driver: "json-file"
options:
Expand All @@ -44,7 +44,7 @@ services:
replicas: 1
entrypoint: sh ./geth.sh
env_file:
- ../../ops/envs/geth-rinkeby.env
- ../../ops/envs/geth-goerli.env
#volumes:
# - ./<YOUR PERSISTED STORAGE>:/root/.ethereum/
environment:
Expand All @@ -60,12 +60,12 @@ services:
BLOCK_SIGNER_ADDRESS: "0x00000398232E2064F896018496b4b44b3D62751F"
ROLLUP_POLL_INTERVAL_FLAG: "10s"
ROLLUP_ENFORCE_FEES: 'true'
SEQUENCER_CLIENT_HTTP: https://rinkeby.boba.network
SEQUENCER_CLIENT_HTTP: https://goerli.boba.network
# turing
TURING_CREDIT_ADDRESS: "0x208c3CE906cd85362bd29467819d3AcbE5FC1614"
TURING_CREDIT_ADDRESS: "0x4200000000000000000000000000000000000020"
# fee token
L2_BOBA_TOKEN_ADDRESS: "0xF5B97a4860c1D81A1e915C40EcCB5E4a5E6b8309"
BOBA_GAS_PRICE_ORACLE_ADDRESS: "0x7F974A09a251dEA6b75af3e0A0e29D1133DaCf4b"
L2_BOBA_TOKEN_ADDRESS: "0x4200000000000000000000000000000000000023"
BOBA_GAS_PRICE_ORACLE_ADDRESS: "0x4200000000000000000000000000000000000024"
logging:
driver: "json-file"
options:
Expand Down
16 changes: 16 additions & 0 deletions boba_community/boba-node/state-dumps/goerli/addresses.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"BondManager": "0xF84979ADeb8D2Dd25f54cF8cBbB05C08eC188e11",
"CanonicalTransactionChain": "0x8B0eF5250b5d6EfA877eAc15BBdfbD3C8069242F",
"ChainStorageContainer-CTC-batches": "0x01c9DC8B9c66D61a56Db7bF3F5303Cd9E9c85B1F",
"ChainStorageContainer-CTC-queue": "0x42356f071B65FD0FBA2b74566EB1D3634F008CDa",
"ChainStorageContainer-SCC-batches": "0xc6B47b2f5DF0C84fa91Ae2bBA733Ee72a6c4830e",
"L1MultiMessageRelayer": "0xebE42F5cEA2184F6b416bFFAB0744b11281AE95b",
"AddressManager": "0x6FF9c8FF8F0B6a0763a3030540c21aFC721A9148",
"OVM_L1CrossDomainMessenger": "0x6d849602Ed00D3680e1820929B6Bdc86169cbE21",
"Proxy__L1CrossDomainMessenger": "0xA6fA0867F39f3A3af7433C8A43f23bf26Efd1a48",
"Proxy__L1StandardBridge": "0xDBD71249Fe60c9f9bF581b3594734E295EAfA9b2",
"StateCommitmentChain": "0x7Bb4cfa36F9F3880e18a46B74bBb9B334F6600F3",
"TK_L1BOBA": "0xeCCD355862591CBB4bB7E7dD55072070ee3d0fC1",
"OVM_Sequencer": "0x0000000000000000000000000000000000000000",
"Deployer": "0x122816e7A7AeB40601d0aC0DCAA8402F7aa4cDfA"
}
69 changes: 69 additions & 0 deletions boba_community/boba-node/state-dumps/goerli/boba-addr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"BondManager": "0xF84979ADeb8D2Dd25f54cF8cBbB05C08eC188e11",
"CanonicalTransactionChain": "0x8B0eF5250b5d6EfA877eAc15BBdfbD3C8069242F",
"ChainStorageContainer-CTC-batches": "0x01c9DC8B9c66D61a56Db7bF3F5303Cd9E9c85B1F",
"ChainStorageContainer-CTC-queue": "0x42356f071B65FD0FBA2b74566EB1D3634F008CDa",
"ChainStorageContainer-SCC-batches": "0xc6B47b2f5DF0C84fa91Ae2bBA733Ee72a6c4830e",
"L1MultiMessageRelayer": "0xebE42F5cEA2184F6b416bFFAB0744b11281AE95b",
"AddressManager": "0x6FF9c8FF8F0B6a0763a3030540c21aFC721A9148",
"OVM_L1CrossDomainMessenger": "0x6d849602Ed00D3680e1820929B6Bdc86169cbE21",
"Proxy__L1CrossDomainMessenger": "0xA6fA0867F39f3A3af7433C8A43f23bf26Efd1a48",
"Proxy__L1StandardBridge": "0xDBD71249Fe60c9f9bF581b3594734E295EAfA9b2",
"StateCommitmentChain": "0x7Bb4cfa36F9F3880e18a46B74bBb9B334F6600F3",
"TK_L1BOBA": "0xeCCD355862591CBB4bB7E7dD55072070ee3d0fC1",
"TK_L2BOBA": "0x4200000000000000000000000000000000000023",
"TK_L2WETH9": "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",
"TK_L1ETH": "0x0000000000000000000000000000000000000000",
"TK_L2ETH": "0x4200000000000000000000000000000000000006",
"TK_L1USDC": "0x07865c6E87B9F70255377e024ace6630C1Eaa37F",
"TK_L2USDC": "0x429582bDe1B0E011C48d883354050938f194743F",
"TK_L1OMG": "0xCb9b561c91dDA1A9bAc33F7716a4d5586B7F5649",
"TK_L2OMG": "0x080bf38b43a1441873116002d36CCB583464cF45",
"TK_L2xBOBA": "0x01c9DC8B9c66D61a56Db7bF3F5303Cd9E9c85B1F",
"L1CrossDomainMessengerFast": "0x93f605b2f42d0380E35E50671153fbB8f0A1d257",
"Proxy__L1CrossDomainMessengerFast": "0x8b5A2d6aE932e8224B15c2C87dc8A972301c1B5d",
"L2LiquidityPool": "0x6FF9c8FF8F0B6a0763a3030540c21aFC721A9148",
"L1LiquidityPool": "0x847bBdA8aE752d236D373aA1D0F9014c0787bFed",
"Proxy__L1LiquidityPool": "0x1F32017A84dE07A524b9C6993D35B4bF70e8Dc93",
"Proxy__L2LiquidityPool": "0xF121Fd008A17c8C76DF1f003f19523130060B5BA",
"L2TokenPool": "0xc00933D40Cc84139075acf332f575CFB3846D408",
"L1Message": "0x6105B7cF3b227e78b8792EfcE9ac75bC1b72D2cE",
"L2Message": "0xc6B47b2f5DF0C84fa91Ae2bBA733Ee72a6c4830e",
"AtomicSwap": "0x8B0eF5250b5d6EfA877eAc15BBdfbD3C8069242F",
"L2ERC721": "0x4CFeADc728fD25F2d88b23F3C3834a103330D9A1",
"L2ERC721Reg": "0x7Bb4cfa36F9F3880e18a46B74bBb9B334F6600F3",
"L1NFTBridge": "0x126301CCbdd780Cd129e47594938FB17B3Da43DE",
"L2NFTBridge": "0xBd026eefc80c90ABe8A537F18D4071e9cec46510",
"Proxy__L1NFTBridge": "0xa2232D3c81EFd46815c1adf48Ed86C5C377cb6e2",
"Proxy__L2NFTBridge": "0xF84979ADeb8D2Dd25f54cF8cBbB05C08eC188e11",
"L1MultiMessageRelayerFast": "0xf3b489cCC93A9B74F17113E323E4Db2b1FdE2Cb8",
"DiscretionaryExitFee": "0x999933FF5284038197602a80173F4f4ECb634866",
"BobaFixedSavings": "0x6105B7cF3b227e78b8792EfcE9ac75bC1b72D2cE",
"Proxy__BobaFixedSavings": "0xDBD71249Fe60c9f9bF581b3594734E295EAfA9b2",
"FeedRegistry": "0xE84AAb853C4FBaafd3eD795F67494d4Da1539492",
"ETHUSD_Aggregator": "0x47b45765ee4e270dE60852295bB0Dd105E1A4Df0",
"BOBAUSD_Aggregator": "0xbcA151440F29c10BeBA5a410c52914e236Fc9845",
"BobaBillingContract": "0x3CE051cB75e2b5c13BDe8a40Fe7305Ca42e4eEcf",
"Proxy__BobaBillingContract": "0x04A6e2AB38BB53bD82ae1Aa0521633D640304ab9",
"Boba_GasPriceOracle":"0x4200000000000000000000000000000000000025",
"Proxy__Boba_GasPriceOracle":"0x4200000000000000000000000000000000000024",
"BobaTuringCredit": "0x4200000000000000000000000000000000000021",
"Proxy__BobaTuringCredit": "0x4200000000000000000000000000000000000020",
"Proxy__L1ERC1155Bridge": "0x1dF39152AC0e81aB100341cACC4dE4c372A550cb",
"L1ERC1155Bridge": "0xCc982d33525EBFB14B9c504428d02082043817D7",
"Proxy__L2ERC1155Bridge": "0x1dF39152AC0e81aB100341cACC4dE4c372A550cb",
"L2ERC1155Bridge": "0xCc982d33525EBFB14B9c504428d02082043817D7",
"Proxy__Teleportation": "0xd68809330075C792C171C450B983F4D18128e9BF",
"Teleportation": "0x35789652C1166323596466A315f82722D1173336",
"BobaMonsters": "0x240D31b369B4F5494fF6F04237B3E93bE52fAcb8",
"Timelock": "0x66C893019bC366eB497f49c8Df79e63AF73124eA",
"GovernorBravoDelegate": "0x22FDcc02fBBF24d829F7A0A69329d8d27477b0Df",
"GovernorBravoDelegator": "0xf3b489cCC93A9B74F17113E323E4Db2b1FdE2Cb8",
"GovernorBravoDelegatorV2": "0xf3b489cCC93A9B74F17113E323E4Db2b1FdE2Cb8",
"Ve_BOBA": "0x247571C8151eB78d4fDc8AAb233C2734BDB811c5",
"Ve_Gauge": "0x72f30dBB4457a72C688da25A05D333A3ef065C2b",
"Ve_Voter": "0xA107508264aB36eFDc50C51a278B9286C6cB5ABB",
"Ve_Dispatcher": "0x126301CCbdd780Cd129e47594938FB17B3Da43DE",
"BASE_V1_VOTER": "0x8A52a736F632334459e2D710c9C73e07391dae06",
"L2StandardTokenFactory": "0xD2ae16D8c66ac7bc1Cf3c9e5d6bfE5f76BeDb826"
}
Loading