From 5bc39768bd943ffebf6bdea53c359f7838ab05f3 Mon Sep 17 00:00:00 2001 From: sacha <23283108+sacha-l@users.noreply.github.com> Date: Sun, 15 Dec 2024 23:34:14 +0700 Subject: [PATCH 1/4] Create SwarmNL-milestone_2.md --- deliveries/SwarmNL-milestone_2md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 deliveries/SwarmNL-milestone_2md diff --git a/deliveries/SwarmNL-milestone_2md b/deliveries/SwarmNL-milestone_2md new file mode 100644 index 000000000..c44323485 --- /dev/null +++ b/deliveries/SwarmNL-milestone_2md @@ -0,0 +1,24 @@ +# Milestone Delivery :mailbox: + +**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/swarm-nl.md +* **Milestone Number:** 2 + +**Deliverables** + +| Number | Deliverable | Link | Notes | +| -----: | ----------- | ------------- | ------- | +| **0a.** | License | [Apache 2.0](https://github.com/algorealmInc/SwarmNL/blob/main/LICENSE) | | +| **0b.** | Documentation | [Rust docs](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html)| See: [Replication features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#replication) and [Sharding features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#sharding)| +| **0c.** | Testing and Testing Guide | [Testing guide](https://algorealminc.github.io/SwarmNL/swarm_nl/testing_guide/index.html) and [`tests`](https://github.com/algorealmInc/SwarmNL/tree/main/swarm_nl/src/core/tests) | This would be the starting point for testing coverage of the features of the library added in milestone 2 (see `replication.rs` and `sharding.rs` in the `/swarm-nl/src/core/tests` folder). | +| **0d.** | Docker files | **Replication examples:** [Eventual Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/eventual-consistency/Dockerfile), [Strong Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/strong-consistency/Dockerfile), [Peer Cloning Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/peer-cloning/Dockerfile); **Sharding examples:** [Hash-based sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/hash-based/Dockerfile), [Range-base sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/range-based/Dockerfile) | Each Dockerfile will open three terminals and run a script to emulate the examples simulating a network of three nodes. | +| 1. | Research | [Research](https://github.com/algorealmInc/SwarmNL/blob/main/research.md) | This document gives an overview of the design and implementation decisions for fault-tolerance and scaling based on research. | +| 2. | Scaling (implementation of sharding, data-forwarding and fault-tolerant algorithms to SwarmNL) | [Replication module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm_nl/src/core/replication.rs) and [Sharding module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm_nl/src/core/sharding.rs) | These modules contain all of the core parts of the library for fault-tolerance using replication, data-forwarding and sharding. | +| 3. | IPFS integration | [IPFS example](https://github.com/algorealmInc/SwarmNL/tree/main/examples/ipfs) | We demonstrate how simple it is to integrate IPFS to a network built with SwarmNL. | +| 4. | Extendability of library | [HTTP server example](https://github.com/algorealmInc/SwarmNL/tree/main/examples/http-client) | We demonstrate the implementation of SwarmNL's generic interface to POST data to a remote HTTP server (run with Docker: [Dockerfile](https://github.com/algorealmInc/SwarmNL/tree/main/examples/http-client/Dockerfile)). | + + +**Additional Information** + +The examples run by the Dockerfiles will start up three terminals each running a node with seprate peer IDs and ports. The Dockerfile runs a script to automatically interact with the nodes by sending commands to the network. The script sleeps for 60 seconds to ensure the nodes run and connect before commands are submitted to the network. To quit the terminals running in the Docker container, submit `exit`. \ No newline at end of file From 08e19281250d29484438af50d4dbb094b13d004a Mon Sep 17 00:00:00 2001 From: sacha <23283108+sacha-l@users.noreply.github.com> Date: Sun, 15 Dec 2024 23:36:40 +0700 Subject: [PATCH 2/4] fix ext --- deliveries/{SwarmNL-milestone_2md => SwarmNL-milestone_2.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename deliveries/{SwarmNL-milestone_2md => SwarmNL-milestone_2.md} (100%) diff --git a/deliveries/SwarmNL-milestone_2md b/deliveries/SwarmNL-milestone_2.md similarity index 100% rename from deliveries/SwarmNL-milestone_2md rename to deliveries/SwarmNL-milestone_2.md From 95118670585ed37cf5738d0717a05d61895ca15a Mon Sep 17 00:00:00 2001 From: sacha <23283108+sacha-l@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:29:10 +0700 Subject: [PATCH 3/4] fix: urls and updates --- deliveries/SwarmNL-milestone_2.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/deliveries/SwarmNL-milestone_2.md b/deliveries/SwarmNL-milestone_2.md index c44323485..8eb05a941 100644 --- a/deliveries/SwarmNL-milestone_2.md +++ b/deliveries/SwarmNL-milestone_2.md @@ -10,15 +10,15 @@ | Number | Deliverable | Link | Notes | | -----: | ----------- | ------------- | ------- | | **0a.** | License | [Apache 2.0](https://github.com/algorealmInc/SwarmNL/blob/main/LICENSE) | | -| **0b.** | Documentation | [Rust docs](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html)| See: [Replication features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#replication) and [Sharding features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#sharding)| -| **0c.** | Testing and Testing Guide | [Testing guide](https://algorealminc.github.io/SwarmNL/swarm_nl/testing_guide/index.html) and [`tests`](https://github.com/algorealmInc/SwarmNL/tree/main/swarm_nl/src/core/tests) | This would be the starting point for testing coverage of the features of the library added in milestone 2 (see `replication.rs` and `sharding.rs` in the `/swarm-nl/src/core/tests` folder). | -| **0d.** | Docker files | **Replication examples:** [Eventual Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/eventual-consistency/Dockerfile), [Strong Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/strong-consistency/Dockerfile), [Peer Cloning Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/peer-cloning/Dockerfile); **Sharding examples:** [Hash-based sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/hash-based/Dockerfile), [Range-base sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/range-based/Dockerfile) | Each Dockerfile will open three terminals and run a script to emulate the examples simulating a network of three nodes. | +| **0b.** | Documentation | [Rust docs](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html)| See: [Replication features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html#replication) and [Sharding features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html#sharding)| +| **0c.** | Testing and Testing Guide | [`tests`](https://github.com/algorealmInc/SwarmNL/tree/main/swarm-nl/src/core/tests), [testing guide (replication)](https://algorealminc.github.io/SwarmNL/swarm-nl/testing_guide/index.html#replication-tests) and [testing guide (sharding)](https://algorealminc.github.io/SwarmNL/swarm-nl/testing_guide/index.html#sharding-tests)| This would be the starting point for testing coverage of the features of the library added in milestone 2 (see `replication.rs` and `sharding.rs` in the `/swarm-nl/src/core/tests` folder). | +| **0d.** | Docker files | **Replication examples:** [Eventual Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/eventual-consistency/Dockerfile), [Strong Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/strong-consistency/Dockerfile), [Peer Cloning Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/peer-cloning/Dockerfile)
**Sharding examples:** [Hash-based sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/hash-based/Dockerfile), [Range-base sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/range-based/Dockerfile) | Each Dockerfile will open three terminals and run a script to emulate the examples simulating a network of three nodes. | | 1. | Research | [Research](https://github.com/algorealmInc/SwarmNL/blob/main/research.md) | This document gives an overview of the design and implementation decisions for fault-tolerance and scaling based on research. | -| 2. | Scaling (implementation of sharding, data-forwarding and fault-tolerant algorithms to SwarmNL) | [Replication module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm_nl/src/core/replication.rs) and [Sharding module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm_nl/src/core/sharding.rs) | These modules contain all of the core parts of the library for fault-tolerance using replication, data-forwarding and sharding. | +| 2. | Scaling (implementation of sharding, data-forwarding and fault-tolerant algorithms to SwarmNL) | [Replication module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm-nl/src/core/replication.rs) and [Sharding module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm-nl/src/core/sharding.rs) | These modules contain all of the core parts of the library for fault-tolerance using replication and scaling through sharding and data-forwarding. | | 3. | IPFS integration | [IPFS example](https://github.com/algorealmInc/SwarmNL/tree/main/examples/ipfs) | We demonstrate how simple it is to integrate IPFS to a network built with SwarmNL. | | 4. | Extendability of library | [HTTP server example](https://github.com/algorealmInc/SwarmNL/tree/main/examples/http-client) | We demonstrate the implementation of SwarmNL's generic interface to POST data to a remote HTTP server (run with Docker: [Dockerfile](https://github.com/algorealmInc/SwarmNL/tree/main/examples/http-client/Dockerfile)). | **Additional Information** -The examples run by the Dockerfiles will start up three terminals each running a node with seprate peer IDs and ports. The Dockerfile runs a script to automatically interact with the nodes by sending commands to the network. The script sleeps for 60 seconds to ensure the nodes run and connect before commands are submitted to the network. To quit the terminals running in the Docker container, submit `exit`. \ No newline at end of file +The examples run by the Dockerfiles will start up three terminals each running a node with separate peer IDs and ports. Each Dockerfile runs a script to automatically interact with the nodes by sending commands to the network. The script sleeps for 60 seconds to ensure the nodes build and connect before commands are submitted to the network. The 3 terminals will log the network interactons. The upper left pane corresponds to node 1, the upper right pane to node 2 and the bottom pane to node 3. To quit the terminals running in the Docker container, submit `exit` in each pane. \ No newline at end of file From 37412e420acd0d7a71bd179f50a6c7ea74867403 Mon Sep 17 00:00:00 2001 From: sacha <23283108+sacha-l@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:56:14 +0700 Subject: [PATCH 4/4] fix docs URLs --- deliveries/SwarmNL-milestone_2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deliveries/SwarmNL-milestone_2.md b/deliveries/SwarmNL-milestone_2.md index 8eb05a941..f82802b9d 100644 --- a/deliveries/SwarmNL-milestone_2.md +++ b/deliveries/SwarmNL-milestone_2.md @@ -10,8 +10,8 @@ | Number | Deliverable | Link | Notes | | -----: | ----------- | ------------- | ------- | | **0a.** | License | [Apache 2.0](https://github.com/algorealmInc/SwarmNL/blob/main/LICENSE) | | -| **0b.** | Documentation | [Rust docs](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html)| See: [Replication features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html#replication) and [Sharding features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm-nl/index.html#sharding)| -| **0c.** | Testing and Testing Guide | [`tests`](https://github.com/algorealmInc/SwarmNL/tree/main/swarm-nl/src/core/tests), [testing guide (replication)](https://algorealminc.github.io/SwarmNL/swarm-nl/testing_guide/index.html#replication-tests) and [testing guide (sharding)](https://algorealminc.github.io/SwarmNL/swarm-nl/testing_guide/index.html#sharding-tests)| This would be the starting point for testing coverage of the features of the library added in milestone 2 (see `replication.rs` and `sharding.rs` in the `/swarm-nl/src/core/tests` folder). | +| **0b.** | Documentation | [Rust docs](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html)| See: [Replication features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#replication) and [Sharding features and configuration examples](https://algorealminc.github.io/SwarmNL/swarm_nl/index.html#sharding)| +| **0c.** | Testing and Testing Guide | [`tests`](https://github.com/algorealmInc/SwarmNL/tree/main/swarm-nl/src/core/tests), [testing guide (replication)](https://algorealminc.github.io/SwarmNL/swarm_nl/testing_guide/index.html#replication-tests) and [testing guide (sharding)](https://algorealminc.github.io/SwarmNL/swarm_nl/testing_guide/index.html#sharding-tests)| This would be the starting point for testing coverage of the features of the library added in milestone 2 (see `replication.rs` and `sharding.rs` in the `/swarm-nl/src/core/tests` folder). | | **0d.** | Docker files | **Replication examples:** [Eventual Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/eventual-consistency/Dockerfile), [Strong Consistency Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/strong-consistency/Dockerfile), [Peer Cloning Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/replication/peer-cloning/Dockerfile)
**Sharding examples:** [Hash-based sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/hash-based/Dockerfile), [Range-base sharding Docker file](https://github.com/algorealmInc/SwarmNL/blob/main/examples/sharding/range-based/Dockerfile) | Each Dockerfile will open three terminals and run a script to emulate the examples simulating a network of three nodes. | | 1. | Research | [Research](https://github.com/algorealmInc/SwarmNL/blob/main/research.md) | This document gives an overview of the design and implementation decisions for fault-tolerance and scaling based on research. | | 2. | Scaling (implementation of sharding, data-forwarding and fault-tolerant algorithms to SwarmNL) | [Replication module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm-nl/src/core/replication.rs) and [Sharding module](https://github.com/algorealmInc/SwarmNL/blob/main/swarm-nl/src/core/sharding.rs) | These modules contain all of the core parts of the library for fault-tolerance using replication and scaling through sharding and data-forwarding. |