endojs / endo

Endo is a distributed secure JavaScript sandbox, based on SES
Apache License 2.0
805 stars 71 forks source link

Feature request: piecemeal Endo archive transport #953

Open kriskowal opened 2 years ago

kriskowal commented 2 years ago

The compartment mapper needs to provide functions for piecemeal sending and receiving of archives. An abstract transport protocol, to be implemented concretely elsewhere, presents as a SHA-512 indexed content-address-store.

The sender generates and sends a bill of materials for an archive. The receiver requests the modules that are locally absent.

To that end, the compartment mapper needs functions to:

  1. load an application with a given compartment map (which must contain the hashes of every module) from a content address store (async read(sha512: string) => Promise<ArrayBuffer>)
  2. list the content addresses in an archive (which should be listed in the archive’s compartment map).
kriskowal commented 2 years ago

Parent issue is the evolution of the Zoe bundle hash APIs https://github.com/Agoric/agoric-sdk/issues/3871