Skip to content

Examples

Explore real-world validator examples from the julc-examples repository. Each example demonstrates specific JuLC features and patterns.

Vesting Validator

Time-locked vesting contract. Demonstrates basic datum, redeemer, and ScriptContext usage with beneficiary + deadline checks.

NFT Minting Policy

One-shot NFT minting. Shows @MintingValidator, policy ID validation, and mint quantity checks.

Multi-Sig Validator

Multi-signature authorization. Demonstrates list operations on signatories, counting required signatures.

Realistic Vesting

Full-featured vesting with interval checking, multiple beneficiaries, and proper deadline validation using IntervalLib.

Realistic Minting

Minting policy with authorization. Uses sealed interface redeemer (Mint/Burn), signatory checks, and mint value validation.

Output Value Check

UTxO output validation. Demonstrates OutputLib for checking values paid to addresses, lovelace amounts, and token presence.

Withdraw Validator

Staking reward withdrawal. Shows @WithdrawValidator annotation and reward-specific ScriptContext handling.

Voting Validator

Governance voting. Demonstrates @VotingValidator and Conway-era governance features.

Feature Showcase

Comprehensive test demonstrating all language features: records, sealed interfaces, switch, loops, lambdas, HOFs, stdlib usage.

Debug Vesting

Debugging techniques with Builtins.trace(), source maps, and failure diagnostics.

Minting Property Test

Property-based testing with jqwik. Generates random redeemers and checks minting invariants.

Vesting Property Test

Property-based testing for vesting logic. Generates random deadlines, beneficiaries, and signatories.