What are the key milestones you need to achieve in order to complete your project successfully?
Milestone 1: Milestone 1: Comprehensive and Polished Base SDK
A: Milestone Outputs
- Working and validated implementations of various chain providers (e.g. Blockfrost, Maestro, e.t.c.)
- Utility functions for interacting with the chain in a safe and ergonomic manner as transactions are built and queried
- A clean, consistent, and battle-tested SDK for building and submitting transactions, and for querying the chain
B: Acceptance criteria
The milestone will be accepted when Blaze has implemented functionality in a manner satisfactory for a first major release
C: Evidence of milestone completion
The evidence of milestone may be analysed by reading the codebase at the GitHub link or by reading through the documentation page at https://blaze.butane.dev, which will have relevant examples. Users can also examine Blaze's various published packages.
Milestone 2: Milestone 2: Checks & Tests Regarding Transaction Construction with In-Build Safety Features
A: Milestone Outputs
There will be checks added to transaction construction and/or analysis of code to give assurances that:
- the transaction is not being reused (preventing bugs around shared references to txs), mainly preventing errors around the completion phrase.
- value is not unintentionally lost, whether through change accidentally going to wrong output, or mis-burning assets when not specified.
There will additionally be tests around transaction construction which attempt to:
- pass invalid types through (if typescript is used incorrectly?)
- identify problems around UTxO selection
- identify issues with change setting, to assure that users assets are never lost
From a developer experience standpoint, literate error messages should accompany the checks. Where code is analysed, logical explanations will be attached in comments / documentation to show where consideration has been placed. Other various additional tests/criteria may be identified & added to this milestone, within the general topic.
At the end of this milestone, version 1.0.0 of Blaze packages should be ready to publish and release.
B: Acceptance criteria
There are new documentation around the milestone outputs, such as comments, there are new branches for the aforementioned assurances in the code, and there are new test files. General basic use of the API shouldn't be vulnerable to the problems addressed.
C: Evidence of milestone completion
Will require reading the published codebase on GitHub and published packages.
Final Milestone: Final Milestone: First Full Release and Repository Set Up for Longevity
A: Milestone Outputs
- A well-organised, active, and maintained GitHub monorepo for Blaze
- Extensive developer documentation, user guides, tutorials, contribution guides, e.t.c.
- Integration of new features, providers, e.t.c. as they release and are deemed appropriate
- Public task-boards and roadmaps in adherence with open-source principles (i.e. GitHub Projects)
B: Acceptance criteria
- Blaze regularly sees active issues, pull requests, releases, and other relevant activity
- The packages remain up-to-date and any issues/bugs are responded to with satisfactory speed
- Project plans are communicated and well set-up in a public forum such as GitHub Projects
C: Evidence of milestone completion
The Blaze GitHub repository will be where most activity occurs, so users and developers are encouraged to monitor progress there.