Enable a prover
This guide will help you enable your Taiko node as a prover. Read more about the proof design here.
Prerequisites
- You have already setup a node (see: Run a node).
- A balance of ETH and TTKOj on Sepolia L1 (see: Receive tokens).
- At least 8/16 core CPU and 32GB of RAM.
Steps
Open the .env file in simple-taiko-node
nano .env
Set environment variables to enable prover
Do not use a private key that is valuable to you. The private key will be
stored in plain text in the .env
and this is not secure. There is a real
risk of losing your assets. You should only use a test account.
Open the .env
file and set the following environment variables to enable your node as a prover:
- Set
ENABLE_PROVER
totrue
- Set
L1_PROVER_PRIVATE_KEY
to your L1 account private key (with balance of TTKOj on TaikoL1), we will the public key of this account in the next Steps
Approve TaikoL1 as TTKOj spender
You will need TTKOj deposited on the TaikoL1 contract to secure the bond for the proofs you generate.
First, you will need to approve the TaikoL1 contract as a spender. Visit the TTKOj contract on Sepolia here (opens in a new tab).
Next, click the Connect to Web3 button.
Next, click the approve function and set the spender address to the TaikoL1 contract address: 0x95fF8D3CE9dcB7455BEB7845143bEA84Fe5C4F6f
.
Next, set the amount to at least the minimum bond amount of 2.5 TTKOj. You will need 2.5 TTKOj for each bond you sign. After entering 2.5, you need to set the 18 decimals that the TTKOj contract takes, you can click the plus button and then select 10^18.
Finally, click the Write button.
Deposit TTKOj to TaikoL1
Visit the TaikoL1 contract here (opens in a new tab).
Next, click the Connect to Web3 button.
Next, click the depositTaikoToken function.
Next, set the amount to at least the minimum bond amount of 2.5 TTKOj. You will need 2.5 TTKOj for each bond you sign. After entering 2.5, you need to set the 18 decimals that the TTKOj contract takes, you can click the plus button and then select 10^18.
Finally, click the Write button.
Note: If you were already running a prover from your address when you approved TaikoL1 as a spender, the contract may directly drain up to the approved amount of TTKOj from your wallet to use as bond for proving. This may cause
depositTaikoToken
transactions to fail.
Verify prover logs
Run this command to verify you have some prover logs:
docker compose logs -f taiko_client_prover_relayer | egrep "block proof was|proof submission error|Block proven"
You should see logs like this if it was successful:
π° Your block proof was accepted
means you successfully submitted a proof and your bond is returned.β Block proven
means a proposed block was successfully proved on TaikoL1 (by anyone).
You can check all commands to see prover logs in the node runner manual.
Register your prover (optionally)
Add your prover to the prover registration page so that other block proposers can find your prover and request bonds.
Videos
- Enable and exit a prover on your L2/L3 node (opens in a new tab) (deprecated, but still useful)
Troubleshooting
View the Node troubleshooting reference for help on any common error codes / issues.