Skip to content

About

A dual-environment playground for building and testing smart contracts on Cardano using both Haskell (Plutus) and Aiken. This repository serves as a modular toolkit, a learning environment, and a growing archive of on-chain experiments.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Repository files navigation

Smart Contract Lab

A progressive engineering laboratory for learning, building, testing, and understanding Cardano smart contracts and the application infrastructure around them.

The Lab develops one engineering capability at a time. Projects begin as focused contract examples and gradually evolve into complete engineering slices.

Specification
      │
Validator
      │
Tests
      │
Blueprint (CIP-57)
      │
Off-chain Client
      │
Wallet (CIP-30)
      │
Deployment

The goal is practical engineering competence through small, verifiable milestones.


Project Structure

Directory Purpose
cardano-aiken-lab/ Primary engineering track using Aiken for modern Cardano development.
cardano-haskell-lab/ Functional programming experiments and Plutus-style reference implementations.

Each contract is developed as an independent vertical slice that can grow without affecting the rest of the repository.


Engineering Philosophy

Every project introduces one new capability before moving to the next.

Current progression:

  • Contract specification
  • Validator implementation
  • Automated testing
  • Blueprint generation (CIP-57)
  • Off-chain interface
  • Transaction construction
  • Wallet integration (CIP-30)
  • Emulator validation
  • Preprod deployment
  • Verified network evidence

The objective is to understand the complete lifecycle of a Cardano application—not just how validators are written, but how they become working software.


Aiken and Haskell

Both environments serve different purposes.

Aiken

The primary implementation language for new Smart Contract Lab projects.

Focus areas include:

  • Modern Cardano smart contract development
  • Blueprint-driven workflows
  • Off-chain integration
  • Transaction construction
  • Production-oriented engineering practices

Haskell

A functional programming laboratory for exploring ideas, modelling systems, and understanding Plutus-inspired design.

Focus areas include:

  • Functional programming
  • State modelling
  • Pure logic
  • Historical Plutus concepts
  • Experimentation

The two tracks complement one another while remaining intentionally independent.


Roadmap

Milestone Status
✅ Engineering workflow Complete
✅ Hello World validator Complete
✅ Blueprint generation Complete
✅ Blueprint reader Complete
✅ Datum / Redeemer encoding Complete
✅ Transaction construction Complete
✅ Hello World emulator lifecycle Complete
🔲 Preprod integration Planned
🔲 Browser wallet integration Planned

Long-Term Direction

The Smart Contract Lab is intended to become a collection of progressively complete Cardano engineering examples.

Beyond validators, projects will mature into complete vertical slices containing:

  • Specifications
  • Automated tests
  • Blueprints
  • Off-chain applications
  • Wallet integration
  • Deployment evidence
  • Engineering documentation

The engineering practices developed here are intended to support future open-source work, ecosystem infrastructure, and production applications.


Related Project

The Lab complements RVRS, an experimental domain-specific language for Cardano smart contracts.

The Smart Contract Lab provides practical engineering reference implementations, while RVRS explores language design, compiler construction, and functional programming. Each project informs the other while remaining independently valuable.


Build deliberately.
Learn continuously.
One capability at a time.

About

A dual-environment playground for building and testing smart contracts on Cardano using both Haskell (Plutus) and Aiken. This repository serves as a modular toolkit, a learning environment, and a growing archive of on-chain experiments.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages