A secure and optimized on-chain standard library for Plutarch, with potential bindings to Aiken. This library provides essential utilities and tools for building robust on-chain applications in the Cardano ecosystem.
- Optimized on-chain operations
- Secure standard library implementations
- Compatibility with Plutarch
- Potential Aiken bindings
- Comprehensive test suite
- Performance benchmarks
To use this library in your project, add the following to your cabal.project
:
source-repository-package
type: git
location: https://github.com/input-output-hk/catalyst-onchain-libs
tag: 6785ba1e924f9d9ce15d335b1b956842e608fa61
--sha256: sha256-vaUFPrR8RFhEGgXbO1npwo5uSK1jRtKtg+FEVbEGuV0=
subdir:
src/plutarch-onchain-lib
Note: Replace the
tag
value with the latest commit hash and adjust thesha256
accordingly. You can get the correctsha256
by:
- Running
nix develop
with the oldsha256
- Copying the correct
sha256
from the error output- Updating the
sha256
value in yourcabal.project
- Running
nix develop
again
- Clone the repository:
git clone [email protected]:input-output-hk/catalyst-onchain-libs.git
cd catalyst-onchain-libs
- Build the project:
cabal update
cabal build -j all
- Run tests and benchmarks:
cabal run plutarch-onchain-lib-tests
cabal run plutarch-onchain-lib-bench
If you encounter build issues with nix, add the following to your nix config (typically at /etc/nix/nix.conf
):
extra-experimental-features = nix-command flakes ca-derivations fetch-closure
extra-substituters = https://cache.iog.io https://cache.nixos.org/
allow-import-from-derivation = true
extra-trusted-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and ensure they pass
- Submit a pull request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
For support, please:
- Open an issue for bug reports
- Create a discussion for questions
- Contact the maintainers for critical issues
This project builds upon and integrates several key components from the Cardano ecosystem:
- The merkle patricia forestry implementation was ported from aiken-lang.
- Special thanks to SeungheonOh one of the core developers of Plutarch.
We are grateful to all contributors and the broader Cardano community for their support and feedback.