Configuration based on official Aztec docs for current version 0.85.0-alpha-testnet.3 - unmodified template stored for reference in docker-compose-docs-template.yaml
.
- Set container image:
export IMAGE="aztecprotocol/aztec:0.85.0-alpha-testnet.3"
- Set RPC endpoints:
export RPC_EL_URL="http://sepolia-nr09.phantom-rpc.com:8545"
export RPC_CL_URL="http://sepolia-nr09.phantom-rpc.com:5052"
NOTE: This is our private RPC endpoint - local Sepolia archive node with Reth/Ligthhouse - and it can be stopped anytime.
- Set prover private key and corresponding address:
export PROVER_PRIVATE_KEY="0xd9...redacted..."
export PROVER_ID="0xa6fa944323877ec5d0fefab0cd0bbf33df96fe58"
- Set directory for persistence:
mkdir /tmp/aztec-data
export DATA_DIR="/tmp/aztec-data"
Take docker-compose.yaml
from this gist, and run:
docker pull ${IMAGE}
docker compose up 2>&1 | tee aztec-prover-setup-1.log
You can see synching status by grepping logs:
cat ./aztec-prover-setup-1.log | grep "Synched" | tail -n 1
In the beggining it will be like:
prover-node-1 | [11:15:07.450] VERBOSE: p2p Synched to latest block 340
However, it should quickly reach the point where all blocks are synced:
prover-node-1 | [11:15:52.775] DEBUG: p2p Synched to proven block 17133
prover-node-1 | [11:15:52.776] DEBUG: p2p Synched to blocks at start
We should see proving jobs to be executed, but there is no such thing. Instead prover node reported multiple error.
At this point you can stop containers and remove data directory.
I am sharing first 10k lines of log file:
There are 3 different types of errors that occured.
prover-node-1 | [11:15:06.388] ERROR: archiver Error during sync: {
prover-node-1 | error: NoBlobBodiesFoundError: No blob bodies found for block 17161
prover-node-1 | at getBlockFromRollupTx (file:///usr/src/yarn-project/archiver/dest/archiver/data_retrieval.js:158:15)
prover-node-1 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
prover-node-1 | at async file:///usr/src/yarn-project/archiver/dest/archiver/data_retrieval.js:62:27
prover-node-1 | }
Does it mean there something is wrong with our RPC?
Update: RPC is okay; Aztec template uses wrong env L1_CONSENSUS_HOST_URL
- it should be L1_CONSENSUS_HOST_URLS
(notice "S" suffix).
prover-node-1 | [11:15:52.777] ERROR: p2p:l2-block-stream Error processing block stream: Error: Announce address not provided.
prover-node-1 | at LibP2PService.start (file:///usr/src/yarn-project/p2p/dest/services/libp2p/libp2p_service.js:215:19)
prover-node-1 | at P2PClient.startServiceIfSynched (file:///usr/src/yarn-project/p2p/dest/client/p2p_client.js:542:39)
prover-node-1 | at async P2PClient.handleProvenL2Blocks (file:///usr/src/yarn-project/p2p/dest/client/p2p_client.js:493:9)
prover-node-1 | at async P2PClient.handleBlockStreamEvent (file:///usr/src/yarn-project/p2p/dest/client/p2p_client.js:127:21)
prover-node-1 | at async TraceableL2BlockStream.emitEvent (file:///usr/src/yarn-project/stdlib/dest/block/l2_block_stream/l2_block_stream.js:167:9)
prover-node-1 | at async TraceableL2BlockStream.work (file:///usr/src/yarn-project/stdlib/dest/block/l2_block_stream/l2_block_stream.js:113:17)
prover-node-1 | at async poll (file:///usr/src/yarn-project/foundation/dest/promise/running-promise.js:48:21)
I guess some extra configuration is necessary...
Update: I was right; setting P2P_IP
helped - it could be even 127.0.0.1
.
prover-node-1 | [11:15:52.805] WARN: prover-node:combined-prover-coordination Failed to find 88 txs from any source. Found 0 from p2p and 0 from nodes
prover-node-1 | [11:15:52.807] ERROR: prover-node Error handling epoch completed: Error: Could not find txs: 0x03c282d7f0837f95aa0765b439ccdcd542a5c7838e4492194cc415b4c4a3bcb3,0x0d3e402e64d24780a2c50121abf4bc0dbf0b1505bf5c5f12ab6bbeb97d6b4688,0x135c3a966c31940b3a1141516c36f5126ef3432295aa62ad998f7748e9a5e105,0x15341ef4b06dce23325bd0818fd126cf8953f6ed33473b94add32b5546af0876,0x1e09f3706d3a9a3e2576d6a8d9e2596b8ab87184451b10bb8e43aa3eb2d355d8,0x1ef0817e7b958a3def5202b9f97f1b253a653df91bf250b83cacc8e78e104012,0x2b0b71917ef3745aa25dfa267dd9f2a07941ded1252dcb39e256a2a192da3156,0x2c0249dfe5a93329296ae823a9c68126052b9c6f1183fd8a4db0b533ce9e39b3,0x06cf894903a99f78e3e67a95c0608f1926588a95e64914f092e4990b6f5373d8,0x0a772c6be4d1af115d72b3839e33cc1dbed51ef79a1a3ad1c555e70c4b4c8cbf,0x16b8e3874df2f1f6cc3114b40db5e95231162a3c6c7aeb085a116a164c78da0d,0x2079e21d9eeeb5004566f66b9dda14a94d8cf560d08056315d8e5ee059aec6a5,0x046bc5734f2edfc84ad3c2fcf46a836e7243995238c7e46c752b234743781a99,0x0c3c22bde97e1607e6020a6ff9b7475985353e761effb1119f1abfd3f6d252ef,0x1550c495b70c32a807b8811eaa1ebe8864d0367f80c22da08a917807aa9a2c08,0x2893c5f7cb746d682c9b67679a56dd59d0c3e3d101897c4c69a9691fad50ea36,0x26da998161382defdc860336e04d8a5c2306dec85109b17c8ec5f216a470b6d2,0x2950f62366d2687341e515cd333656e06a58c5991995c4a3eb1d81f372290c21,0x298707accfd566d773b3b85c49f3081f210ed8590b271c4cf622ed45bb35ce68,0x29b6f6495159accb610719a1fb2a78797777785693b641b297238e06a261903f,0x2a945f263128d41088ae2f5a85a953da39419f4961055b39db1b9b2add49eeba,0x2cb4f38684e53691fd4e38f666768d6e16a8ca429be74e50794c6e3973106c45,0x2d4da166b51ddbb33bb6931928bea4513e9501a6a55e0b86c12e2a7394d0e796,0x2e0070dad67c6249e1de6f283a9f1aad28fb4393c0487ef539c66243eb590123,0x004de843be312b2659c06f91daa332de843fa4218daa3d858ac1430e251ce4e4,0x099451bdda5d524716fcc6fe5efea88824a96869d1fbb32e64eecbbece9fdeb1,0x0cdbafb0dbc407ce66249cca7799e3a855c7e566a7731d8a055b5a3bf0f73227,0x0ef307bf587d2ee3921b22a7ad17ddfaacac932da4dd1a81c01b72545e6f440a,0x0f2d3362252e2138978e61dd5388044d23f16fdbc65e733c2c383a0e380ca4f5,0x1950ca1e4085dcfca4243524719f235f53b9d1d71e666b9f27a0c725a58ba527,0x1e1c83c8cc2fffb2ddafddac5b2d81f2f3588404f60f49f3ca2ee43be0b9d446,0x20adb2f1f4536c26e555a0fcbc77c52a7d76f084cf319303e3f6a769ec502bb7,0x22e275226f1fe1d23256776ad522770c7bb0d3cc7e1cbea509b38fd82feefe5b,0x2633c5717cc356b4047f0fe168c830878082d4b024a1c7eb86cd9909975f74f7,0x263cf1896fba1a451052933bd71e86f12bac41245a24398e7067ff3203850f11,0x3039617451a739758adc2684afa44a1cee90cac8a0d377dbc6ce2ca702a6bed5,0x0093c49c0fbf7d1cb00663c8d1eb59cc63a3294a449fb21d4eb1bc826ebe83a7,0x0fbfc2ac2d03cd8795ac5ca88270f011f9358561e907c5e2c0e7055cb60fc247,0x11416c65ecab2290f22703911223b9fc31fc7903bae7d1e16e9a17c31be6de0a,0x11c33b6d84b43c547a5fdaaf755e3cbb9ecc1e4c10041a6fcf7a08c3d08088f9,0x16956a0b2d3dce628eaa562fe3e936ce1613d90eaff6febead2a0af812d76d45,0x19c0dac61f8feea9f6db35f48f04e68353a251cc03bc19f05b0c46b523094ca4,0x1a47899744c530fe3021da2de1b2ce1dabcc5f09d9158ee1e77c6f6b00ea79f0,0x1d4fc40f59d70ad516432f1907050cc28cef636afb0baffb621a0aadf37d4a04,0x02da2f0acdfeec92e58a909c376f788aac7df306608f901067541831ac170cf3,0x130a39a4c88e3be5a1489f1157a24f262f508d6308bcc3d68d29984d1aac63aa,0x1768e7478039d730fb9dc2a649303c8873234ddce31f5da8e8bc664cede08f77,0x1c821ecad0aa6a472d11d7b03a4307a57204a8fe32a93eed9f08fc6b5f4b8825,0x0d737c301e308a3395766e9a73cddf5e304028aaf6fc2721c9e5a7d10a4143fd,0x242bf03272ae4cfb531c4a9fe535819f77d918fe8aa2e54e1520bb90142d22d2,0x277ee3af6beeeae0357110b4a32ef5b7785fb12921681cb64be4782d6cb93bcc,0x2a7f03f3b8fdad67b2fec0994215f22a115b44fb0acc23f690d46bc1fb2ca094,0x0e62ee49184f3cfa0a859fdfb46b42fce924bd53cf2466fc162d295c031738e2,0x1142c53b70949749b7a706838769545afe2815552ea5709532890ecaf4a19d80,0x11f96b1741dfa5ca58db5b052419e6bafbbef0624f6a42547e09e343ede95e69,0x2a88ef7c695b7d118b3f24bf4324c0c8371703931752881ed536adb945338ef0,0x2ab071cc53a02fbbd73be93efd903d32a39049b164cb1698b94f68fbb15b51fe,0x2bea48f5a0ed85762ed04eb519cf8a3b4de73de9fe2a4c00632dfe806c44cc8f,0x2e2dfa51489bcfa099499e4e2849e8fbef4ac7e223cfd1b183a490e4854bf47e,0x30128d136d4e9378ed4958ce18a98184b87629ea0988ca16fbb4a587a9eefa42,0x064ca7f231e834497e29d6e6b0461033b1f10f5d3ac9cc4130a396beefefcd03,0x0e1d86226b4cc08f9bb427705c9e7f967a945a17571dd33cf48639fe17fdfded,0x1283ea836f2449f785935b4131e94af03027276eca0c1eb708e341da57a55e9d,0x1641a527ed8ec7bb3e5529b9c653857aa96a26a2ac4fbdf08754d4b7b9161a7b,0x04f16ac31d5f5b98480b39dbbf10c2727f5808d654efc250e9b276b78db81115,0x05e9cf30d955bac642100e61446ef8df017744983a0e2702dce8d4e8546e1337,0x07e70423a2fbd698236ef0123e9018392a2e2718681b858dea2fa4f2a66c6ff7,0x1bf8602418b8f76d33805b4dbb0c2bf053bdaa362135df56bde15d9e9da586eb,0x091416dc1b63afcf4e7fa72b7c15b9b976f2a9207bd38049606134b5add0f123,0x11f797136708c1252afbb366d4cb51fbe9b1ee52b67ceaf63735e43df506a732,0x1e33644ba1909d359b93acf6f8f58d5e3f6b5bf9e056eda0d0e245978f224bbf,0x21729149b28c6163c93dc5a6f859b5eb5b7b538ff5b24844dad6aa0ff2430fca,0x220c67bdcbd0936b25d9ce37b216e44c9833be28b6d847a5327a01061fd8cad8,0x23d1cc21571ab06accf35115aa87e3ac3fa24ba1eb6186fb41ce635fda655647,0x28a123208956cb7f5f0c37a9b5424861ceeb4e111a99b944d313a830ff3a2b5f,0x2f917a7d49b2baa2801305106c49aa2b4aa9e02f05584fa7e41d461c7e798b2e,0x070479a5429ede3f42087b8242dd9dfb506c40306d96874c964ec4bbe557ca28,0x0921a9a5e97202e00c9b8363a78f70b1ca7820a7c851cbbd9941d5aae0d70fa5,0x0986fbe76fb39a2884203c6433cc910ddc9ae2b8cb5836205ee6293fd55d2bd4,0x1470c7e39125cfc97ea6f766b028a35679d4f52ab13ea6090bfe4ed4f18f3b47,0x0c2c1504dc6dcfaa73992d3c3768cf66a4a1267febbf3209aee20e36bc982a7b,0x189820af65f083be6f87d9bc01e06d62725c88819e25c079f43adc406bd62c22,0x1a95eef66592c7d825c55b59057369787f5c82b84eb02189106d9e7cee3c56f1,0x1bfb820302a558d42e8b7d209cdc7f27d0f8fd7e5ea08f5ef6aad032512fefe4,0x25cc1046c1527f8565967a48c94dda2e3f7966470bd5c6566c9cc460a8f34a83,0x276d165f7d66501874739be0af5d517a22ec7f4ca0e505b782c68b29bebd5ef5,0x2b3ed74566b5d87302d46b55eaa26701492cb30696b04d262d916ee3c40bf356,0x2c8fde086ceb96dd15c09ebb0bb1065d4e295d348e0a961f71847e90771622f1
prover-node-1 | at CombinedProverCoordination.getTxsByHash (file:///usr/src/yarn-project/prover-node/dest/prover-coordination/combined-prover-coordination.js:64:19)
prover-node-1 | at async ProverNode.gatherTxs (file:///usr/src/yarn-project/prover-node/dest/prover-node.js:262:21)
prover-node-1 | at async ProverNode.gatherEpochData (file:///usr/src/yarn-project/prover-node/dest/prover-node.js:242:21)
prover-node-1 | at async ProverNode.createProvingJob (file:///usr/src/yarn-project/prover-node/dest/prover-node.js:209:27)
prover-node-1 | at async ProverNode.startProof (file:///usr/src/yarn-project/prover-node/dest/prover-node.js:147:21)
prover-node-1 | at async ProverNode.handleEpochReadyToProve (file:///usr/src/yarn-project/prover-node/dest/prover-node.js:99:13)
prover-node-1 | at async EpochMonitor.work (file:///usr/src/yarn-project/prover-node/dest/monitors/epoch-monitor.js:84:13)
prover-node-1 | at async poll (file:///usr/src/yarn-project/foundation/dest/promise/running-promise.js:48:21)
This one seems to prevent us from generating proving jobs 😔.
Update: it seems failing prover led to this; I reported BB segfaults with >=256 cores and it was recently fixed.