Light Clients in JS #14016
Replies: 6 comments 13 replies
-
Also IBC relayers |
Beta Was this translation helpful? Give feedback.
-
@hxrts shared this one https://github.com/nomic-io/js-tendermint |
Beta Was this translation helpful? Give feedback.
-
Has anyone tried compiling https://github.com/informalsystems/tendermint-rs/tree/main/light-client to WASM? Seems like it's well maintained, and maybe we don't need a light client in pure JS, just a JS wrapper around it with nice API. |
Beta Was this translation helpful? Give feedback.
-
the biggest problem with not only our light client but with almost every one out there is they still rely on RPC. saying a light client solves the problem is only part of the problem, we should get away from relying on RPCs. We know people that use light clients, which only support rpcs connections, usually grab the first few rpcs they see. These could be from a centralised place or a validator but we run into the same issue but have now added a layer of abstraction. To get around this issue, we should add light clients into the p2p layer of tendermint so we can make tx submission and querying of the data work in a fully trustless manor. I tried to push tendermint in this direction years ago but gave up because there wasn't interest and I wasn't willing to continually fight an uphill battle. |
Beta Was this translation helpful? Give feedback.
-
Better support for light clients has been something I've had in mind for a while and was one of the motivations for transitioning to protobuf. Beyond having the actual light client, a huge part of this is the ability to decode the state layout which depends on the schema of modules. Currently there is no schema description layer for most modules. The ORM in the SDK was created with this in mind: https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-055-orm.md. It describes the layout of module state in protobuf files and also provides a better API to build modules. The natural evolution of that would be JS library support for light client proofs based on these schemas. This would allow client side proofs on basically any query. |
Beta Was this translation helpful? Give feedback.
-
So my thoughts on JS light clients:
|
Beta Was this translation helpful? Give feedback.
-
@jackzampolin sparked a great discussion around light clients in JS https://twitter.com/jackzampolin/status/1595855446979465216
Since this likely will be a new project, I think it's good to put our minds together about the requirements and specs so us JS folks can chip in to build this! I'm a bit of a cosmos-sdk/Go newb, so would def need some guidance, but I can definitely contribute and craft TS/JS to help bring this to life.
cc @tac0turtle @webmaster128
Beta Was this translation helpful? Give feedback.
All reactions