Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create celestia proving service #33

Merged
merged 16 commits into from
Dec 19, 2024
Merged

create celestia proving service #33

merged 16 commits into from
Dec 19, 2024

Conversation

cmwaters
Copy link
Collaborator

Overview

This rust program runs a gRPC service exposing a small API for generating state transition proofs from tendermint headers as well as membership proofs from IAVL proofs

@cmwaters cmwaters marked this pull request as ready for review December 17, 2024 14:10
@cmwaters cmwaters changed the title [wip] create celestia proving service create celestia proving service Dec 17, 2024
@cmwaters
Copy link
Collaborator Author

I'm still missing the membership proofs (I've just done the tendermint header proofs), but I will do that in a follow up PR

@rootulp rootulp self-requested a review December 17, 2024 14:22
Copy link
Collaborator

@rootulp rootulp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include a default .env in provers/celestia-prover with a populated RPC_URL that is the default one used when running make start?

Asking b/c I hit a panic:

thread 'main' panicked at provers/celestia-prover/src/main.rs:38:43:
RPC_URL not set: NotPresent

repo relies on [buf](https://buf.build). If you modify the protos you can regenerate them using:

```
buf generate
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[question] Given this PR also updates the make proto-gen command, is it safe to use that here instead?

Suggested change
buf generate
make proto-gen

@@ -0,0 +1,15 @@
# SP1_PROVER={network|local|mock}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[no change needed] should we create a follow-up to de-duplicate this with the .env file that is created at ./solidity-ibc-eureka/.env via the setup-env.go

Copy link
Member

@ninabarbakadze ninabarbakadze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. still wrapping my head around exactly how the proving works in the sp1 tendermint package

# URL of the Tendermint RPC node
TENDERMINT_RPC_URL=http://localhost:5123
# URL of the Ethereum RPC node
# use https://ethereum-sepolia.publicnode.com/ for the Eth Sepolia testnet
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

turns out we do need most of the environment variables that we use in solidity eureka repo in the root as well. so I'll remove my script that edits it in solidity-ibc-eureka which i initially removed because it was confusing to have an env file in the root that we didn't need.

> ⚠️ **Warning**
> This gRPC service is still under development and may not work as described

To run the server you will need to clone the repo and install rust and cargo. To run the node you also need to set the following environment variables:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably confusing considering we will have env.example that will have everything set there. this might be worth mentioning.

tendermint_rpc_client: HttpClient,
membership_prover: SP1ICS07TendermintProver<MembershipProgram>,
evm_rpc_url: Url,
evm_contract_address: Address,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

worth mentioning what kind of contract

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as in ics07_tendermint_contract_address?

@cmwaters cmwaters merged commit 340376e into main Dec 19, 2024
4 checks passed
@rootulp rootulp deleted the cal/tendermint-sp1-prover branch December 19, 2024 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants