What are the key milestones you need to achieve in order to complete your project successfully?
Milestone 1: Research and Design
a. Milestone Outputs:
- Analysis of how existing event driven architecture handles distributed transactions, with a focus on failure and error handling
- Map out the event sources, including the L1 as well as internal and external APIs
- Comprehensive set of triggers and actions detailing how they work.
- Establish the appropriate stack for the node including the Cardano interface.
b. Acceptance Criteria:
- Research considers at least three examples and comments on: maturity; compares and contrasts its context from that of Calvus (for example, if the examples is on a different blockchain, how that impacts design.); provides some commentary on the stack.
- At least 5 triggers and actions with explanations.
c. Evidence of Completion:
- Report on research available on project github: <https://github.com/cardano-lightning/cardano-lightning>
- Design documents on triggers and actions available on project github**:** https://github.com/cardano-lightning/
Milestone 2: L1 Interface
a. Milestone Outputs:
- Monitoring and management capability for handling on-chain events.
- Surfacing of properties such as congestion.
- Implementation of core channel management features which will allow batching and resubmission in the case of rollback.
b. Acceptance Criteria:
- Documentation guide presenting usage of the CLI.
- Software is runnable via the CLI and provides logging/ notifications.
c. Evidence of Completion:
Milestone 3: Internal APIs: Channel Management Policies & Automation
a. Milestone Outputs:
- Manage channel lifecycle operations through testnet tx submissions and command line interface (CLI).
- Policies for automatic and semi-automatic channel management, including fee and pledge calculations for new channels.
b. Acceptance Criteria:
- Channel management operations (open, close, add capacity etc) can be executed automatically based on configurable policies.
- Example configuration files and documentation explaining policy setup.
- Tests available and pass
c. Evidence of Completion:
- Implementation and documentation available on project github: <https://github.com/cardano-lightning/cardano-lightning>
Milestone 4: External APIs: Client and internode communication
a. Milestone Outputs:
- Spec and implementation of client facing APIs to coordinate the channel management.
- Spec and implementation of internode communication protocol for routing, channel operations, and status messages.
b. Acceptance Criteria:
- Client can setup, use, and close a channel with the Gateway.
- Two nodes can successfully communicate and step through channel lifecycles including routing.
c. Evidence of Completion:
- Implementation and documentation available on project github: <https://github.com/cardano-lightning/cardano-lightning>
Milestone 5: Actions and triggers
a. Milestone Outputs:
- Melding and unifying the of the three APIs.
- Implementation of actions and triggers.
b. Acceptance Criteria:
- Actions and triggers can be configured
- 'E2E' style tests for the actions.
c. Evidence of Completion:
- Implementation and documentation available on project github: <https://github.com/cardano-lightning/cardano-lightning>
Final Milestone: Documentation and Deployment Packaging
a. Milestone Outputs:
- Comprehensive and coherent documentation including guide on how to run Calvus.
- Deployment packages for Debian-based systems, static Linux binaries, and NixOS module.
- Final close-out report
- Final closeout video
b. Acceptance Criteria:
- Node software can be deployed on target systems using provided packages.
- Final closeout report is publicly available
- Final closeout video is publicly available
c. Evidence of Completion:
- Implementation and documentation available on project github: <https://github.com/cardano-lightning/cardano-lightning>
- Packages and binaries available for download and installation.
- Link to final closeout report
- Link to final closeout video