diff --git a/packages/website/pages/docs/guides/run-a-node/run-a-taiko-node.mdx b/packages/website/pages/docs/guides/run-a-node/run-a-taiko-node.mdx index a924911055..19767589e9 100644 --- a/packages/website/pages/docs/guides/run-a-node/run-a-taiko-node.mdx +++ b/packages/website/pages/docs/guides/run-a-node/run-a-taiko-node.mdx @@ -1,4 +1,5 @@ import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs"; +import NodeTroubleshooting from "../../reference/node-troubleshooting.mdx"; # Run a Taiko node @@ -240,7 +241,7 @@ docker compose logs -f l2_execution_engine #### View all L3 logs ```sh -docker compose -f docker-compose.l3.yml logs -f +docker compose -f docker-compose.l3.yml logs -f ``` #### View the L3 proposer image's logs @@ -287,126 +288,4 @@ You can visit it at [http://localhost:3000/d/L2ExecutionEngine/l2-execution-engi ## Troubleshooting -### Node warning logs - -You can ignore any WARN logs. - -### Node error logs - -#### `error: "failed to insert new head to L2 execution engine: missing trie node"` - -Make sure that your RPC is pointing to an Sepolia archive node, and not a full node. - -#### `error: "daily request count exceeded, request rate limited"` - -Your RPC provider has a limit on the number of requests. You can try using a different provider that offers higher limits. - -#### `error: L1_BLOCK_ID` - -The block that you want to prove has already been verified, you can ignore this. - -#### `error: L1_ALREADY_PROVEN` - -This block has been proven by someone else, but it's not verified yet, you can ignore it. - -#### `Fatal: Failed to register the Ethereum service: database contains incompatible genesis` - -Try to remove the node with `docker compose down -v` and then try again. - -#### `Unhandled trie error: missing trie node` - -You can ignore this error, it doesn't affect you and goes away after a while. - -#### `Block batch iterator callback error; error="failed to fetch L2 parent block: not found` - -You can ignore this error. - -#### `Error starting ...: listen tcp4 0.0.0.0:{port} bind: address already in use` - -The port is already in use by another service. You can either shut down the other program or change the port in the .env file. - -#### `error parsing HTTP 403 response body: invalid character '<' looking for beginning of value` - -Your IP address is being geo-blocked due to sanctions lists. If you're affected, try changing hosting locations or utilize a VPN to change your IP address. - -#### `ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for some_service 'pull_policy'` - -Your docker installation is out of date. You need to update your docker compose installation: https://docs.docker.com/compose/install/. - -#### `daemon docker is not running`

`Cannot connect to the Docker daemon` - -Need to start the Docker before running the commands. - -#### `database contains incompatible genesis` - -If you ran an alpha-1 testnet node make sure to first run a docker compose down -v to remove the old volumes. - -#### `Bind for 0.0.0.0:port` failed: port already allocated - -This error just means that the port taiko-node is trying to allocate is already being used by either some other node you're running -or by a left-over container of taiko node if you did not close down the node correctly, you can try running `docker compose down` in the simple-taiko-node folder and start it again using `docker compose up -d` -or edit the `.env` and replace the problematic port with a different one. - -#### `Failed to fetch L1Origin from L2 execution engine

err="not found"` - -This seems to be a common issue if you're using Alchemy endpoints, switching to Infura should fix this issue. - -#### `no configuration file provided: not found` - -You are in the wrong directory, `cd simple-taiko-node` and run the command again. - -#### `unknown shorthand flag: 'd' in -d` - -You are using v1 of docker-compose, use the command: `docker-compose up -d` instead of `docker compose up -d`, I highly recommend that you upgrade to the v2 of docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) - -#### `docker: 'compose' is not a docker command` - -You are missing the docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) - -#### `taiko_client_prover_relayer not printing any logs` - -There could be several reasons, you can check the logs `docker compose logs -f` to make sure there are no errors but one of the most common cause for this is a typo in the `.env` file -`ENABLE_PROVER=True/TRUE` when setting this to true `true` has to be in all lowercase or the script to start relayer won't run. - -#### `simple-taiko-node-taiko_client_prover_relayer-1 | /bin/sh: /script/start-prover-relayer.sh: not found` - -This issue occurs on windows because of the Control Characters in this case the Line Endings, a quick fix would be to delete the node folder, run this `git config --global core.autocrlf false` in the shell, then clone the repo again. - -If you do not want to delete the node folder, please follow one of these steps below. - -#### `no contract code at given address` - -When running a L3 node, users may run into this issue if their underlying L2 is still syncing. Please wait until your L2 is fully synced before starting your L3 node. - -{" "} - - - - -```sh - docker compose down -v - cd scripts - dos2unix start-zkevm-chain-rpcd.sh - dos2unix start-prover-relayer.sh - cd .. - docker compose up -``` - - - - -1. Open Notepad++ -2. Go to: File -> Open -> Locate `start-prover-relayer.sh` file and open it -3. Go to: Edit -> EOL Conversion -> Unix -4. Go to: File -> Save -5. Close the file -6. Do the same for `start-zkevm-chain-rpcd.sh` -7. Then go back to command line and do: - - ```sh - docker compose down -v - docker compose up - ``` - - - + diff --git a/packages/website/pages/docs/reference/_meta.json b/packages/website/pages/docs/reference/_meta.json index 63982d3f19..858f4072de 100644 --- a/packages/website/pages/docs/reference/_meta.json +++ b/packages/website/pages/docs/reference/_meta.json @@ -5,7 +5,7 @@ "rpc-configuration": { "title": "RPC configuration" }, - "contract-documentation": { - "display": "hidden" + "node-troubleshooting": { + "title": "Node troubleshooting" } } diff --git a/packages/website/pages/docs/reference/node-troubleshooting.mdx b/packages/website/pages/docs/reference/node-troubleshooting.mdx new file mode 100644 index 0000000000..d57310a3ec --- /dev/null +++ b/packages/website/pages/docs/reference/node-troubleshooting.mdx @@ -0,0 +1,125 @@ +import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs"; + +### Node warning logs + +You can ignore any WARN logs. + +### Node error logs + +#### `error: "failed to insert new head to L2 execution engine: missing trie node"` + +Make sure that your RPC is pointing to an Sepolia archive node, and not a full node. + +#### `error: "daily request count exceeded, request rate limited"` + +Your RPC provider has a limit on the number of requests. You can try using a different provider that offers higher limits. + +#### `error: L1_BLOCK_ID` + +The block that you want to prove has already been verified, you can ignore this. + +#### `error: L1_ALREADY_PROVEN` + +This block has been proven by someone else, but it's not verified yet, you can ignore it. + +#### `Fatal: Failed to register the Ethereum service: database contains incompatible genesis` + +Try to remove the node with `docker compose down -v` and then try again. + +#### `Unhandled trie error: missing trie node` + +You can ignore this error, it doesn't affect you and goes away after a while. + +#### `Block batch iterator callback error; error="failed to fetch L2 parent block: not found` + +You can ignore this error. + +#### `Error starting ...: listen tcp4 0.0.0.0:{port} bind: address already in use` + +The port is already in use by another service. You can either shut down the other program or change the port in the .env file. + +#### `error parsing HTTP 403 response body: invalid character '<' looking for beginning of value` + +Your IP address is being geo-blocked due to sanctions lists. If you're affected, try changing hosting locations or utilize a VPN to change your IP address. + +#### `ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for some_service 'pull_policy'` + +Your docker installation is out of date. You need to update your docker compose installation: https://docs.docker.com/compose/install/. + +#### `daemon docker is not running`

`Cannot connect to the Docker daemon` + +Need to start the Docker before running the commands. + +#### `database contains incompatible genesis` + +If you ran an alpha-1 testnet node make sure to first run a docker compose down -v to remove the old volumes. + +#### `Bind for 0.0.0.0:port` failed: port already allocated + +This error just means that the port taiko-node is trying to allocate is already being used by either some other node you're running +or by a left-over container of taiko node if you did not close down the node correctly, you can try running `docker compose down` in the simple-taiko-node folder and start it again using `docker compose up -d` +or edit the `.env` and replace the problematic port with a different one. + +#### `Failed to fetch L1Origin from L2 execution engine

err="not found"` + +This seems to be a common issue if you're using Alchemy endpoints, switching to Infura should fix this issue. + +#### `no configuration file provided: not found` + +You are in the wrong directory, `cd simple-taiko-node` and run the command again. + +#### `unknown shorthand flag: 'd' in -d` + +You are using v1 of docker-compose, use the command: `docker-compose up -d` instead of `docker compose up -d`, I highly recommend that you upgrade to the v2 of docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) + +#### `docker: 'compose' is not a docker command` + +You are missing the docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/) + +#### `taiko_client_prover_relayer not printing any logs` + +There could be several reasons, you can check the logs `docker compose logs -f` to make sure there are no errors but one of the most common cause for this is a typo in the `.env` file +`ENABLE_PROVER=True/TRUE` when setting this to true `true` has to be in all lowercase or the script to start relayer won't run. + +#### `simple-taiko-node-taiko_client_prover_relayer-1 | /bin/sh: /script/start-prover-relayer.sh: not found` + +This issue occurs on windows because of the Control Characters in this case the Line Endings, a quick fix would be to delete the node folder, run this `git config --global core.autocrlf false` in the shell, then clone the repo again. + +If you do not want to delete the node folder, please follow one of these steps below. + +#### `no contract code at given address` + +When running a L3 node, users may run into this issue if their underlying L2 is still syncing. Please wait until your L2 is fully synced before starting your L3 node. + +{" "} + + + + +```sh + docker compose down -v + cd scripts + dos2unix start-zkevm-chain-rpcd.sh + dos2unix start-prover-relayer.sh + cd .. + docker compose up +``` + + + + +1. Open Notepad++ +2. Go to: File -> Open -> Locate `start-prover-relayer.sh` file and open it +3. Go to: Edit -> EOL Conversion -> Unix +4. Go to: File -> Save +5. Close the file +6. Do the same for `start-zkevm-chain-rpcd.sh` +7. Then go back to command line and do: + + ```sh + docker compose down -v + docker compose up + ``` + + +