Skip to Content
Scalus Club is now open! Join us to get an early access to new features 🎉
DocumentationSmart Contracts

Cardano Smart Contract Development

Write type-safe smart contracts for Cardano using Scala. Debug validators with breakpoints in your IDE, test with ScalaCheck, and compile to Plutus Core.

@Compile object MyValidator extends Validator: inline override def spend( datum: Option[Data], redeemer: Data, tx: TxInfo, outRef: TxOutRef ): Unit = val owner = datum.getOrFail("No datum").to[PubKeyHash] require(tx.signatories.contains(owner), "Not signed by owner")

Tutorials

Validators

Testing & Debugging

  • Unit Testing — ScalusTest trait and property-based testing with ScalaCheck
  • Debugging — Breakpoints, logging, and IDE debugger integration

Production

  • Security — Common vulnerabilities and how to avoid them
  • Optimizations — Reduce script size and execution costs
  • Design Patterns — Patterns for multi-input validators
Last updated on