-
Notifications
You must be signed in to change notification settings - Fork 580
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
How ibc-go generate the existence proof of a packet? #2449
Comments
Hi @ImJeremyHe. The reason why the proof is The way to get the proof would be to make an ABCI query using either Tendermint's RPC endpoint or the SDK's gRPC endpoint that has been added recently (and released in v0.46). I hope this helps! |
@crodriguezvega Thank you for your reply! Do you know where I can read the exact implementation of getting proof? There are so many relevant repo and I have no clue. |
@ImJeremyHe Sorry for the late reply, but I didn't have the knowledge to be able to answer your question, until @AdityaSripal actually explained this week how it works. When a relayer makes an ABCI query on Tendermint't RPC endpoint, Tendermint routes via ABCI the query to the SDK. From here, the steps to follow where a proof for data stored in IAVL is obtained are these: 1, 2, 3, 4, 5, 6, 7, 8 and finally inside this function the IAVL tree I hope this helps! |
Summary of Bug
I have investigated for a while that how an existence proof is generated in
ibc-go
.But I found that it is always
nil
in the response.ibc-go/modules/core/04-channel/keeper/grpc_query.go
Line 223 in ceddad5
I'm not sure whether this is the relevant code I am looking for.
Expected Behaviour
Version
Steps to Reproduce
For Admin Use
The text was updated successfully, but these errors were encountered: