- Install SP1.
- Create a
.env
file and copy the.env.example
file there. Fill in your ownSP1_PRIVATE_KEY
andLIGHT_NODE_AUTH_TOKEN
(see below for instructions on obtaining them).
- To retrieve blobs and extended headers, you will need access to a Celestia light node. See here for instructions on setting one up: docs.celestia.org/nodes/light-node
- If you're running a light node, get the authentication token using the following command and add it to the
.env
file:export LIGHT_NODE_AUTH_TOKEN=$(celestia light auth admin --p2p.network celestia)
(See this tutorial if you need further instructions: docs.celestia.org/developers/node-tutorial#auth-token) - Run the Celestia light node:
celestia light start --core.ip rpc.celestia.pops.one --p2p.network celestia
- If you're making proofs on your local machine, set
SP1_PROVER=local
in your.env
- To access the SP1 prover network, you will need the
SP1_PRIVATE_KEY
of a whitelisted address. See here for how to obtain one: docs.succinct.xyz/prover-network/setup.html
Check that both these programs print the same data commitment (the data root tuple root).
This generates a proof at blobstream/script/proof-with-pis.json
.
cd blobstream/script && cargo run --release \
-- --trusted-block=1865870 \
--target-block=1865890
This generates a proof at blob_inclusion/script/proof-with-pis.json
.
cd blob_inclusion/script && cargo run --release \
-- --start-height=1865870 \
--end-height=1865890 \
--num-requests=1 \
--request-path=requests.json
To run this for arbitrary blobs, edit the blob_inclusion/script/requests.json
file and adjust the
blobstream heights accordingly.