GithubHelp home page GithubHelp logo

polkadot-light-client-spec's People

Contributors

aphelionz avatar gradkh avatar kylegranger avatar mariopil avatar olliten avatar vbar avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

polkadot-light-client-spec's Issues

Add more details about light-weight interactions

Overall, the spec seems to be sparse and lacks details on several key components of the light-client. Components like ... light-weight interactions with GRANDPA and BABE (and Sassafras in future) for the light client have not been addressed

Fix Runtime Environment Requirements

Fix:

No discussion of embedding runtime environments to run on-chain wasm blobs. How would the compiled targets (for different platforms) interface with the embedded runtime environments.

Add hash_map justification

Furthermore, the document could be improved by adding justification to the design choices. For example,
"We will use hash_map with serialization/deserialization to hold the blockchain state." in Implementation.md
Missing details, especially on the limits of using a hashmap. What were the other options considered? would there not be any non-persistence issues? AFAIK, other node implementations use a Database for similar tasks.

Proof Read Finished Spec

A global review of the document

  • consistent formatting, headings
  • the language, i.e., native speaker check
  • expansion of any areas that might need it (more text is (almost) always welcome)
  • check structure flow, proper hierarchy where appropriate

Add C++ upsides/downsides details

It would also be interesting to gain insights into the disadvantages of implementing in C++ and the major pain points the team expects

Add cryptography details

Fix concern:

Missing a clear comparison of required components between Light-Client and Full Node. Ideally describe a spectrum of functionalities that a light-client can support.

Revision of supported methods

Feedback text from Polkadot regarding grant submission, specific to JSON-RPC methods:

  1. Transactions related methods missing.
  2. Cleanest way to integrate with the browser is implementing the SC extension protocol here.
  3. We are aware that the JRPC interface is unstable, but for completeness would make sense to add the other RPC methods to the minimal set.
  4. Also, please details in stages of implementation.

Fix JSON-RPC APIs

Fix:

Mentions three initial RPC methods to be implemented. Would this suffice? Justification would be appreciated.

Fix Dependencies

Fix:

Details of the required crypto libs missing; nice to have: assessment of using the heavy crypto libs in a resource constrained light-client.

Add Boost::asio usage justification

Similarly, it is mentioned:
“Boost::asio used as the main event loop” - Diagram
Why does ASIO satisfy the requirements at hand? What would the Callback Graph of the event-driven system look like? What are the event triggers?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.