- Status: Accepted
- PR Link: w3f/Grants-Program#357
- Milestone: 1
- Previously successfully merged evaluation: All by alxs
Number | Deliverable | Accepted | Link | Evaluation Notes |
---|---|---|---|---|
0a. | License | node-template-spartan , spartan-farmer (to be added) |
Apache 2.0 or retained from adapted work | |
0b. | Documentation | node-template-spartan README, spartan-farmer README |
Main README adapted and previous feedback integrated. Excellent external documentation, inline documentation improved | |
0c. | Testing Guide | Instructions | Test coverage for spartan-farmer could be improved, tests in other deliverables adapted from exisiting ones in reused modules |
|
0d. | Article | Medium article | Coordinated with PR | |
1. | Design Document | Link | Excellent write-up | |
2. | sp_consensus_PoC |
Link | Adapted from sp-consensus-babe |
|
3. | sc_consensus_PoC |
Link | Adapted from sc-consensus-babe |
|
4. | sp_consensus_spartan |
Link | Adapted from sp-consensus-vrf |
|
5. | sc_consensus_spartan |
None | Integrated within spartan-farmer |
|
6. | pallet_spartan |
Link | Adapted from pallet-babe |
|
7. | spartan_farmer |
Link (separate repository) | ||
8. | spartan_client |
Link | Adapted fromnode-template |
|
9. | Docker | Instructions | Pre-built images added in reponse to feedback |
Team integrated a large amount of feedback provided during the two evaluations for this milestone. Rather than restating in this document the changes that were made, I advise to read the discussion in the delivery PR #165
The superb documentation of the project in the links listed above is worth mentioning, as well as the good communication and seeming ease to navigate the ecosystem of the team.
As mentioned in the previous evaluation, the code implemented for the Spartan client and consensus algorithm is to a large extent reused code from BABE or the Substrate codebase. This is understandable for a first milestone and I imagine still represented a significant amount of work. These deliverables should ideally be moved to their own repository instead of the current Substrate fork in a later milestone.
As also previously mentioned, the code for the farmer could do with some refactoring (little inline documentation, deeply nested code and not-so-high test coverage), which should come natural as the project progresses.