Please describe your proposed solution
The core issue is the lack of full support for Cardano Improvement Proposals (CIPs) 121, 122, and 123 within Plutarch, which limits the efficiency and security of smart contract development on Cardano. Additionally, the current development tooling around CTL (Cardano Transaction Library) has gaps in its usability and maintenance, such as a lack of streamlined dependency management and reliance on WebSockets for Ogmios communication, which adds unnecessary complexity. These shortcomings slow down developer workflows and create friction in adopting Cardano as a platform for decentralized applications (dApps).
Solution
We propose a two-pronged solution:
- Enhance Plutarch by adding support for CIPs 121, 122, and 123, enabling safer, more efficient smart contract development. Specifically, the solution includes:
- A higher-level API that simplifies encoding and decoding operations related to CIPs, including safer handling of byte- and bit-oriented data.
- Bug fixes, like resolving the pcontains bug, and ensuring that Plutarch efficiently handles negative PPosixTime values, making it easier to develop accurate time-based contracts.
- A focus on safety, usability, and reducing reliance on unsafe builtin calls for critical operations.
- Upgrade CTL with improved tooling that streamlines the development process:
- A PureScript package set and an NPM package for simplifying dependency management, reducing the friction for developers working with CTL.
- A switch from WebSockets to an HTTP interface for Ogmios, simplifying communication and enabling better code reuse and easier maintenance.
Market
This solution primarily targets developers and teams building on Cardano, particularly those involved in smart contract development and dApp creation. By improving developer tooling, the project lowers the barrier to entry for new developers while providing expert teams with more powerful and reliable tools. With Cardano expanding rapidly in the global blockchain space, developer efficiency is crucial to attracting more projects and increasing overall adoption.
Features
- Plutarch Enhancements: Safer and more user-friendly APIs for CIP operations, bug fixes, and general performance improvements, supporting more sophisticated smart contracts.
- CTL Upgrades: A new PureScript package set and NPM package to streamline dependency management, along with improved Ogmios communication via HTTP, making it easier to work with the library.
- Comprehensive Testing: Each feature and bug fix will undergo thorough testing to ensure that it works as intended, both in terms of functionality and compilation.
- Documentation and Tutorials: The project will include detailed API documentation and tutorials, ensuring developers can easily adopt and integrate the improvements.
Related Work
This project builds on existing work within the Cardano ecosystem, particularly previous enhancements to Plutarch and CTL. It complements ongoing efforts like CIP 57 integration, further strengthening the Cardano infrastructure. By addressing critical developer pain points and extending functionality, this solution will directly improve the ecosystem’s developer tools, making it easier to build on Cardano.
In comparison to related projects, this solution stands out by focusing on developer efficiency and safety, directly supporting CIPs while addressing specific technical debt. The open-source nature of the improvements also allows for continuous contributions and enhancements by the broader Cardano community.