# Generate o1js proofs

### End-to-end example

There's an end-to-end example in `scripts/blobstream_example` which does the following:

1. Sets the required environment variables (verifier keys, public inputs, etc) using data from the provided SP1 blobstream and blob inclusion proofs.
2. Generates o1js proofs that verify the SP1 Celestia blobstream and blob inclusion proofs.
3. Generate an o1js proof of the correct state update of a sample rollup due to the execution of three transactions and that the data used in this batch is the same as the blob inclusion proof.
4. Verifies the batch o1js proof inside a rollup state update contract.

To run the example, execute the `e2e_blobstream_inclusion.sh` script:

```
./scripts/e2e_blobstream_inclusion.sh
```

To run this end-to-end test with your own SP1 proofs, replace `blobstreamSP1Proof.json` and `blobInclusionSP1Proof.json` with `blobstream/script/proof-with-pis.json` and `blob_inclusion/script/proof-with-pis.json` from the `blob-stream-inclusion` repo.
