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

SwarmNL milestone 2 revision #2363

Merged
merged 5 commits into from
Oct 11, 2024
Merged
Changes from 1 commit
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
69 changes: 60 additions & 9 deletions applications/swarm-nl.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,20 +137,71 @@ We have built a PoC for SamaritanDB (see [the Github repo here](https://github.c

### Milestone 2

- **Estimated Duration:** 1.5 months (6 weeks)
- **FTE:** 1
- **Costs:** $12,000
- **Estimated Duration:** 2.5 months (10 weeks)
- **FTE:** 1.5
- **Costs:** $36,000
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The total cost is $36k, but the sum of costs for M1+M2 is $12k+$36k=$48k
Which number is wrong here? Could you fix this accordingly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

M1 has been paid already. 36k is for M2. Does this clarify?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The application doc should reflect the costs of each milestone, as well as the total cost correctly. The fact that M1 has been paid already doesn't have an impact on this. Could you please rectify the amounts?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah understood now, updated in 5b524d4


#### 1. Research on Scaling

Research objective: to find the most efficient implementation to scale swarms, using state of the art research (estimated: 2 weeks).


**1 week:**

- Fault tolerance algorithms and their implementations
- Sharding algorithms
- Cooperation / coordination algorithms

**1 week:**

- Report of findings
- Comparative analysis and final decisions based on our findings for the direction of our implementation


#### 2. Sharding and data forwarding implementation


**A. 3 weeks: sharding and data forwarding**

- 1 week: scaffolding and draft implementation
- 2 weeks: review, testing and improvements


**B. 2 weeks: writing integration-like tests to demonstrate the algorithms at scale**

- 1 week: benchmarking network behavior
- 1 week: documentation and results


#### 3. IPFS integration


**Estimated 1 week:**

- Implementation of all IPFS features for a swarm / testing
- Documentation and guides to easily use the IPFS features (tweak library accordingly if necessary)


#### 4. Extendability of library

**Estimated 2 weeks:**

- Provide capabilities to take snapshots of networking state and send to remote server including logs
- Testing and documentation
- Touching up and miscellaneous

This brings us to total estimation of 10 weeks with a 1.5 FTE. With hourly rates revised to 60 USD/hr at 40 hour per week, our estimations come to a 2400 USD (1 FTE) + 1200 (0.5 FTE). This brings the total to 36,000 USD for Milestone 2, to fund the work of a Lead Engineer + Protocol Researcher (Adedeji) and Project Lead + Developer (Sacha) required to ship the libraries' features for this milestone.
semuelle marked this conversation as resolved.
Show resolved Hide resolved

| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| **0a.** | License | Apache 2.0 |
| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can add new nodes to SwarmNL. |
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. |
| **0b.** | Documentation | We will provide both **inline documentation** of all new code and basic guides that explain how a user can add new nodes to SwarmNL and showcase API usage for different network configurations. |
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness.|
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Demo API usage | Showcase API usage with short guides using different configurations. |
| 1. | Scaling | Implementation of sharding, data-forwarding and fault-tolerant algorithms into SwarmNL. |
| 2. | IPFS integration | Implementation of interfaces to upload, download and pin IPFS files. |
| 3. | Additional Extendability | Implementation of interfaces to POST arbitrary data to remote servers. |
| 1. | Research | Research on decentralized fault-tolerant, coordination and sharding algorithms for large scale networks. |
| 2. | Scaling | Implementation of sharding, data-forwarding and fault-tolerant algorithms into SwarmNL. |
| 3. | IPFS integration | Implementation of interfaces to upload, download and pin IPFS files. |
| 4. | Extendability of library | Implementation of interfaces to POST arbitrary data to remote servers. |


## Future Plans
Expand Down
Loading