SIDAN - Whisky V2 - Cardano Rust SDK with Pallas
Budget Requested
100,000 ADA
Duration
6 months
Language
Rust SDK
Category
Cardano Open: Developers
Problem Statement
Whisky's current CSL core limits maintainability and slows new-feature support. Moving to TxPipe's Pallas provides a Rust-native, community-maintained foundation with broader features and cleaner extensibility for faster protocol adoption.
Key Deliverables
Pallas Integration
Complete migration from CSL to TxPipe's Pallas for a Rust-native, community-maintained foundation with broader features
Dependency Injection Architecture
Flexible serializer interface allowing multiple backends while maintaining API stability and backward compatibility
Enhanced Protocol Support
Faster access to new protocol features and governance updates with reduced lag between node releases and SDK support
Ecosystem Interoperability
Improved compatibility with TxPipe tooling ecosystem including Oura, Scrolls, and other Rust-native Cardano tools
Project Milestones
Milestone 1: Preparation and Organization Setup
Initial project setup with team organization, repository structure, and comprehensive planning for the Pallas migration.
Outputs
- Team setup with defined roles and responsibilities
- Public announcement and communication channels
- GitHub Projects roadmap with migration plan
- Contributor guidelines and project structure
Acceptance Criteria
- Maintainers and advisors listed with roles
- Public repository with legal documents committed
- Community announcement published with links
- GitHub Projects board active with migration milestones
Evidence
- README with team roles and responsibilities
- Repository tree showing legal compliance
- Public announcement on social media channels
- GitHub Projects board with detailed migration plan
Milestone 2: Phase 1 - Build Transactions on Pallas
Refactor TxBuilder with interface abstraction and create Pallas-based serializer core with automated testing.
Outputs
- Refactored TxBuilder with serializer interface
- Pallas-based serializer core (WhiskyPallas)
- Real example transactions with automated tests
- Initial documentation and migration notes
Acceptance Criteria
- TxBuilder no longer depends directly on CSL
- WhiskyPallas serializer fully functional
- Example transactions build successfully
- Automated test suite passes with Pallas core
Evidence
- Public repository with refactored codebase
- Working example transactions and tests
- Documentation showing Pallas integration
- CI/CD pipeline validating new architecture
Milestone 3: Phase 2 - Parse Transactions + Remaining Tools
Implement transaction parser interface and migrate remaining utilities to Pallas with comprehensive testing.
Outputs
- Transaction parser interface for whisky-pallas
- Migrated utilities (addresses, scripts, datums, formats)
- End-to-end round-trip tests
- Comprehensive stress testing suite
Acceptance Criteria
- Parser interface fully implemented and tested
- All utilities successfully migrated to Pallas
- Build→read round-trip tests pass
- Stress tests validate reliability and performance
Evidence
- Complete parser implementation in repository
- Migrated utilities with test coverage
- Round-trip test results and documentation
- Performance benchmarks and stress test reports
Milestone 4: Phase 3 - Finish Migration & Ship
Complete SDK migration to dependency injection design, implement CSL compatibility layer, and provide migration guide.
Outputs
- Complete SDK migration to dependency injection
- Pallas as default with CSL compatibility layer
- Comprehensive migration guide for users
- Final testing and validation suite
Acceptance Criteria
- SDK fully migrated to new architecture
- Pallas set as default serializer
- CSL compatibility layer functional
- Migration guide complete with examples
Evidence
- Released SDK with new architecture
- Migration guide and compatibility documentation
- User testing feedback and adoption metrics
- Community announcements and adoption examples
Milestone 5: Documentation and Closeout Report
Comprehensive documentation update, community materials, and project closeout with detailed reporting.
Outputs
- Updated API documentation on docs.rs
- Task-based guides on GitHub Pages
- Comprehensive closeout report
- Project demonstration video
Acceptance Criteria
- API docs auto-built and published
- Guides site updated with migration content
- Closeout report published with metrics
- Demonstration video completed and shared
Evidence
- Live documentation on docs.rs and GitHub Pages
- Published closeout report with adoption metrics
- Public demonstration video
- Community feedback and adoption examples
Expected Impact
Faster Protocol Adoption
Pallas-based core enables faster access to new protocol features and governance updates, reducing lag between node releases and SDK support.
Enhanced Interoperability
Alignment with Pallas improves compatibility with TxPipe tooling ecosystem, making it easier to build explorers, wallets, and data applications.
Community Resilience
Reduces single-vendor dependency by leveraging actively maintained, community-driven base, encouraging external contributions and shared standards.