Skip to content
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

Hot-loading and distribution system for runtime bundles #5755

Closed
kostko opened this issue Jul 3, 2024 · 1 comment · Fixed by #5944 or #5943
Closed

Hot-loading and distribution system for runtime bundles #5755

kostko opened this issue Jul 3, 2024 · 1 comment · Fixed by #5944 or #5943
Assignees
Labels
c:p2p Category: P2P c:security Category: security sensitive s:needs adr Needs a design document, discussion and decision (ADR)

Comments

@kostko
Copy link
Member

kostko commented Jul 3, 2024

Either our own P2P protocol or we could just store them in IPFS or similar. We could simply chunk the bundle into equally-sized chunks and then provide those to peers. In order to reduce avenues for a DoS attack, only nodes that are registered for a given runtime would be eligible to request bundles.

There should also be support for hot-loading (e.g. without node restart) runtimes (and individual detached components) after they are fetched.

@kostko kostko added c:p2p Category: P2P c:security Category: security sensitive s:needs adr Needs a design document, discussion and decision (ADR) labels Jul 3, 2024
@kostko
Copy link
Member Author

kostko commented Sep 20, 2024

An initial step that we can implement immediately could be to just have a backend that can fetch binaries via HTTPS. There would be two steps:

  • Looking up the bundle URL from a known manifest hash. E.g. these could be implemented by having a repository of files where the filename is the Base16-encoded manifest hash. The content of the file would be just the URL to use.
  • Fetching the actual bundle from the resolved URL.

As long as the manifest hash is available for verification on-chain, it should be fine. We can then gradually transition to a more decentralized version.

@kostko kostko changed the title P2P distribution system for runtime bundles Hot-loading and distribution system for runtime bundles Oct 10, 2024
@kostko kostko reopened this Nov 25, 2024
@peternose peternose reopened this Nov 25, 2024
@kostko kostko closed this as completed Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:p2p Category: P2P c:security Category: security sensitive s:needs adr Needs a design document, discussion and decision (ADR)
Projects
None yet
2 participants