-
Notifications
You must be signed in to change notification settings - Fork 217
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
Specification of light-mode #3118
Conversation
f7e9541
to
ec58ec0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's great so far, thanks @HeinrichApfelmus
77f376f
to
d7a3d43
Compare
d7a3d43
to
9b6d00b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
I've suggested a couple diagrams. If you don't have time, I could do them.
Could we move the document into docs/design/specs/light-mode.md
? Then it will be published. It doesn't matter if it's still a DRAFT - as long as the status is shown.
This procedure is implemented and demonstrated in the `light-mode-test` prototype. | ||
|
||
## Functionality | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here is another gratuitous picture opportunity.
Could we please have two block diagrams - full-node and light-mode?
Like a cut-down version of the diagram here: https://input-output-hk.github.io/cardano-wallet/developers/Architecture
In the "full-node" version, wallet links to node in 4 ways: chainsync, localblockfetch, localstatequery, localtxsubmission.
In the "light-mode" version, wallet requests a list of transactions by address from the block service.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok!
Note: We do not use BlockFetch
, but ChainSync
to receive the blocks from the node. This is line with the network specification, which recommends that
The (full)-node to client protocol uses an instance of the chain synchronisation protocol that transfers full blocks, while the node-to-node instance only transfers block headers. In the node-to-node case, the block fetch protocol (Section 3.8) is used to transfer full blocks.
Co-authored-by: Rodney Lorrimar <rodney.lorrimar@iohk.io>
9b6d00b
to
dc999ac
Compare
Issue number
ADP-1370
Overview
This pull request adds a specification (DRAFT) for the cardano-wallet light-mode.
See also PR #3102 for the prototype that explores the feasibility of this specification and implements some parts of it for demonstration purposes.