Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 4.36 KB

spartan-poc-consensus-module_1_alxs.md

File metadata and controls

33 lines (25 loc) · 4.36 KB

Evaluation

  • 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

General Notes

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.