Conversation
| - Repeats those steps in the other direction, to return the acknowledgement. | ||
| - Proves the timeout on the source chain instead, if the packet timed out. That path waits for the deadline to pass rather than for a transaction to be final. | ||
|
|
||
| A relayer is trusted for liveness alone: it can never forge or alter a packet, because changing any of its contents breaks the proof the client checks. Visit the [Relayer](/how-ibc-works/relayer) page for more information. |
There was a problem hiding this comment.
Useful to mention it is important relayer liveness and uptime, if relayer down, no messages are exchanged.
Useful to mention also who can be/run a relayer
srdtrk
left a comment
There was a problem hiding this comment.
I'll edit these later. Also, the docs may have identified a potential bug in solidity GMP
mattac21
left a comment
There was a problem hiding this comment.
I think my 3 pages look pretty good, I am no attestation light client expert so it was mostly a sanity check for accuracy, but things made sense to me and I thought it read well
Greptile SummaryThis PR adds a broad IBC documentation set covering protocol concepts, applications, light clients, Solidity contracts, and CLI workflows, along with tooling and tests that generate portions of the CLI/API reference.
Confidence Score: 4/5The PR should not merge until the unsupported The documented add-chain commands fail during argument parsing because the current Cobra command does not register the Files Needing Attention: docs/6-ibc-cli/2-tutorial-deploy-ibc-and-send-a-token.md and docs/6-ibc-cli/7-cli-commands.md Important Files Changed
|
| 5. Next, register the first chain's details in the config. This passes the chain id, RPC and websocket endpoints, and deployer key. | ||
|
|
||
| ```bash | ||
| ./bin/ibc config add-chain --chain-id 41001 --rpc http://localhost:8545 --ws ws://localhost:8546 --deployer deployer |
There was a problem hiding this comment.
Unsupported websocket flag blocks tutorial
When a reader runs this command, Cobra rejects the undocumented --ws implementation gap as an unknown flag because config add-chain registers only --chain-id, --rpc, --router, and --deployer, blocking the remainder of the deployment tutorial. The same unsupported flag is used again for the second chain and listed in the generated command reference.
Signed-off-by: dhfang <dhsfang@gmail.com>
Signed-off-by: dhfang <dhsfang@gmail.com>
* docs: address GMP review comments on gmp.md (FOU-1386) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: address GMP review comments on ics27-gmp-and-accounts.md (FOU-1392) Signed-off-by: srdtrk <srdtrk@hotmail.com> * docs: correct the gas-retry boundary and restore the success-flag derivation The delivery paragraph on the GMP page said a failed attempt could be re-delivered with more gas, which reads as the general rule for an out-of-gas destination call and contradicts the FailedCall paragraph later on the same page. ICS26Router.recvPacket writes the packet receipt before it calls the application, so past proof verification the packet is consumed either way; only a delivery that reverts before the receipt is written leaves it in flight. Say that instead. Also restore two details dropped with the old packet-handlers section: how ICS27GMP derives the callback's success flag, and that the three router handlers revert ICS27Unauthorized for any other caller. Signed-off-by: srdtrk <srdtrk@hotmail.com> --------- Signed-off-by: srdtrk <srdtrk@hotmail.com>
Signed-off-by: dhfang <dhsfang@gmail.com>
Signed-off-by: dhfang <dhsfang@gmail.com>
* docs: add the IBC CLI page set * small updates * updates * Update 1-overview.md --------- Co-authored-by: Dennis Fang <dhsfang@gmail.com>
…itical deployments
Signed-off-by: Dennis Fang <dhsfang@gmail.com>
Signed-off-by: Dennis Fang <dhsfang@gmail.com>
Signed-off-by: Dennis Fang <dhsfang@gmail.com>
Adds the IBC documentation set under
docs/, organised into six numbered sections. docs/README.md is the table of contents and the entry point.Introduction
1-introduction/1-what-is-ibc.md— packets between chains, verified by on-chain light clientsHow IBC works
2-how-ibc-works/1-overview.md— the components, and the packet they pass2-how-ibc-works/2-packets-and-applications.md— what moves, and what gives it meaning2-how-ibc-works/3-core-router-and-store.md— the entry point, and the provable record2-how-ibc-works/4-clients-and-counterparties.md— how one chain verifies another2-how-ibc-works/5-relayer.md— what decides when packets move2-how-ibc-works/6-packet-lifecycle.md— delivered and acknowledged, or timed outApplications
3-applications/1-gmp.md— contract calls on another chain3-applications/2-ift.md— a token that burns here and mints thereLight clients
4-light-clients/1-attestation-light-client.md— accepts what a quorum of attestors signs4-light-clients/2-attestors.md— the services that sign, and the keys trustedIBC-solidity contracts
5-ibc-solidity-contracts/1-overview.md— the contracts, and who deploys each5-ibc-solidity-contracts/2-ics26-router.md— entry points, storage, events, roles5-ibc-solidity-contracts/3-ics27-gmp-and-accounts.md— GMP and its per-sender accounts5-ibc-solidity-contracts/4-ift-contracts.md— the base contract and its variants5-ibc-solidity-contracts/5-attestation-light-client.md— what it verifies, and how5-ibc-solidity-contracts/6-permissions-and-upgrades.md— roles, proxies, and what is fixedIBC CLI
6-ibc-cli/1-overview.md— the three parts, and how they runGuides
6-ibc-cli/2-tutorial-deploy-ibc-and-send-a-token.md— deploy IBC on two chains and send a token6-ibc-cli/3-run-a-standalone-attestor.md— an attestor in its own process6-ibc-cli/4-run-a-standalone-relayer.md— connect a relayer to an existing connection6-ibc-cli/5-make-a-cross-chain-gmp-call.md— call a contract across chainsReference
6-ibc-cli/6-configuration.md— every key inibc.yml6-ibc-cli/7-cli-commands.md— every command and flag6-ibc-cli/8-api.md— the relayer and attestor gRPC servicesguides tests and ref generation
The four guides were each run end to end against two local Besu chains, from a clean teardown, in the order they appear.
The tables on the three reference pages are generated from this repository by
docs/6-ibc-cli/tools/refgen.py. Prose around them is hand-written; anything between<!-- GEN:... START -->and itsENDis regenerated and should not be edited by hand. See the tooling README.