Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions deliveries/java-polkadot-host.md
Original file line number Diff line number Diff line change
@@ -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