diff --git a/README.md b/README.md index 06d502d40..3c90acb0b 100644 --- a/README.md +++ b/README.md @@ -29,19 +29,21 @@ This repository contains the relevant Docker builds to run your own node on the ### Hardware requirements We recommend you this configuration to run a node: + - at least 16 GB RAM - an SSD drive with at least 100 GB free ### Troubleshooting If you encounter problems with your node, please open a [GitHub issue](https://github.com/base-org/node/issues/new/choose) or reach out on our [Discord](https://discord.gg/buildonbase): + - Once you've joined, in the Discord app go to `server menu` > `Linked Roles` > `connect GitHub` and connect your GitHub account so you can gain access to our developer channels - Report your issue in `#🛟|node-support` ### Supported networks | Ethereum Network | Status | -|------------------|--------| +| ---------------- | ------ | | Goerli testnet | ✅ | | Mainnet | 🚧 | @@ -49,10 +51,13 @@ If you encounter problems with your node, please open a [GitHub issue](https://g 1. Ensure you have an Ethereum Goerli L1 node RPC available (not Base Goerli), and set `OP_NODE_L1_ETH_RPC` (in `docker-compose.yml` if using docker-compose). If running your own L1 node, it needs to be synced before Base will be able to fully sync. 2. Run: + ``` -docker compose up +docker compose up --build ``` + 3. You should now be able to `curl` your Base node: + ``` curl -d '{"id":0,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \ -H "Content-Type: application/json" http://localhost:8545 @@ -60,9 +65,20 @@ curl -d '{"id":0,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["late Note: Some L1 nodes (e.g. Erigon) do not support fetching storage proofs. You can work around this by specifying `--l1.trustrpc` when starting op-node (add it in `op-node-entrypoint.sh` and rebuild the docker image with `docker compose build`.) Do not do this unless you fully trust the L1 node provider. +You can map a local data directory for `op-geth` by adding a volume mapping to the `docker-compose.yaml`: + +```yaml +services: + geth: # this is Optimism's geth client + ... + volumes: + - $HOME/data/base:/data +``` + ### Syncing Sync speed depends on your L1 node, as the majority of the chain is derived from data submitted to the L1. You can check your syncing status using the `optimism_syncStatus` RPC on the `op-node` container. Example: + ``` echo Latest synced block behind by: \ $((($( date +%s )-\