diff --git a/deliveries/java-polkadot-host.md b/deliveries/java-polkadot-host.md new file mode 100644 index 0000000000..5c0335cbd6 --- /dev/null +++ b/deliveries/java-polkadot-host.md @@ -0,0 +1,40 @@ +# Milestone Delivery :mailbox: + +> **The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +- **Application + Document:** https://github.com/w3f/Grants-Program/blob/master/applications/research-feasibiliy-java-host.md +- **Milestone Number:** 1 + +**Context** (optional) + +This milestone delivery consists of 3 main documents: + +- Research Outcome +- Java Light Client Design +- Java Host Design + +Each of the deliverables below are part of one of the three documents. We recommend reading the 3 main documents to have +better context for each deliverable. + + +> **Deliverables** + +| Number | Deliverable | Description | Link | Notes | +| ------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| 0a. | License | Apache 2.0 | [License](https://github.com/LimeChain/java-host-research/blob/main/LICENSE) | | +| 0b. | Documentation | We will provide Markdown documentation of the whole research, explaining the necessary steps needed to resolve the technical challenges of the creation of a Java-based light client and full host. | [Outcome Document](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md) | | +| 1a. | PoC | Research and outline the feasibility of using wasmer-java for the Runtime Execution Environment for WebAssembly MVP. PoC will be built in order to verify the feasibility. | 1) [PoC](https://github.com/LimeChain/java-host-research#proof-of-concept-demo); 2) [Findings](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#wasm-execution-environment) | | +| 1b. | Testing Guide | We will provide a testing guide of the PoC of a Java-based WASM execution environment | [PoC Demo](https://github.com/LimeChain/java-host-research#proof-of-concept-demo) | | +| 1c. | Docker | We will provide a Dockerfile(s) that can be used to test the PoC. | [Dockerfile](https://github.com/LimeChain/wasmer-java/blob/master/Dockerfile) | | +| 2. | Research | Research and verify the feasibility of reusing PolkaJ libraries for various components such as SCALE, schnorrkel and RPC API. | 1) [SCALE](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#scale-codec); 2) [Schnorrkel](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#cryptographic-primitives); 3) [RPC API](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#json-rpc-api) | | +| 3. | Research | Research and outline the design of the p2p module of the Java Polkadot Host. Asses the implementation of yamux and kademlia. Contact the Protocol Labs team. | https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#networking | +| 4. | Research | Research and outline the design of the storage module (Host and Runtime) of the Java Polkadot Host. | https://github.com/LimeChain/java-host-research/blob/main/research/java-host-light-client-high-level-design.md | | +| 5. | Research | Research and outline the design of the RPC API of the Java Polkadot Host. | https://github.com/LimeChain/java-host-research/blob/main/research/java-host-research-outcome.md#json-rpc-api | +| 6. | Research | Research and outline the design of the modules and APIs for the Java Polkadot Host to be part of the consensus-reaching processes. | https://github.com/LimeChain/java-host-research/blob/main/research/java-polkadot-host-high-level-design.md#consensus-reaching-process | +| 7. | Documentation | Java Polkadot Host design document will be produced that combines the research findings of the previous deliverables and outlines a high-level specification for the creation of a Java-based Host. | [Java Host High-Level Design](https://github.com/LimeChain/java-host-research/blob/main/research/java-polkadot-host-high-level-design.md) | +| 8. | Documentation | Java Polkadot Host design document will be produced that combines the research findings of the previous deliverables and outlines a high-level specification for the creation of a Java-based Light-client. | [Java Light-Client High-Level Design](https://github.com/LimeChain/java-host-research/blob/main/research/java-host-light-client-high-level-design.md) | + +**Additional Information** + +None