Loading...
Loading...
Plutus script guidance: datums, redeemers, collateral, reference scripts. Templates only—use operator to execute.
npx skill4agent add thamacroman/cardano-agent-skills cardano-cli-plutus-scriptsThis is a guidance skill. Provides templates and explanations. For execution, use.cardano-cli-plutus-scripts-operator
# 1. Derive script address
cardano-cli conway address build \
--payment-script-file script.plutus \
--testnet-magic 1 \
--out-file script.addr
# 2. Create datum file
echo '{"constructor": 0, "fields": []}' > datum.json
# 3. Lock with inline datum
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <utxo>#<index> \
--tx-out "$(cat script.addr)+5000000" \
--tx-out-inline-datum-file datum.json \
--change-address <payment-addr> \
--out-file tx.unsigned
# Sign and submit# 1. Create redeemer
echo '{"constructor": 0, "fields": []}' > redeemer.json
# 2. Build script spend
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <script-utxo>#<index> \
--tx-in-script-file script.plutus \
--tx-in-inline-datum-present \
--tx-in-redeemer-file redeemer.json \
--tx-in-collateral <collateral-utxo>#<index> \
--tx-out <recipient>+<amount> \
--change-address <payment-addr> \
--out-file tx.unsigned
# Sign (with collateral key) and submit# Script already on-chain at reference UTxO
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <script-utxo>#<index> \
--spending-tx-in-reference <ref-script-utxo>#<index> \
--spending-plutus-script-v2 \
--spending-reference-tx-in-inline-datum-present \
--spending-reference-tx-in-redeemer-file redeemer.json \
--tx-in-collateral <collateral>#<index> \
--tx-out <recipient>+<amount> \
--change-address <payment-addr> \
--out-file tx.unsigned# === Spend from Always-Succeeds Script ===
SCRIPT_ADDR=$(cat script.addr)
PAYMENT_ADDR=$(cat base.addr)
# 1. Query script UTxO
cardano-cli conway query utxo \
--address $SCRIPT_ADDR \
--testnet-magic 1
# Note the UTxO hash and index
# 2. Query payment UTxOs (for collateral)
cardano-cli conway query utxo \
--address $PAYMENT_ADDR \
--testnet-magic 1
# Select ADA-only UTxO for collateral
# 3. Create redeemer (for always-succeeds, can be unit)
echo '{"constructor": 0, "fields": []}' > redeemer.json
# 4. Build transaction
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <script-utxo>#0 \
--tx-in-script-file always-succeeds.plutus \
--tx-in-inline-datum-present \
--tx-in-redeemer-file redeemer.json \
--tx-in-collateral <collateral-utxo>#0 \
--tx-out "$PAYMENT_ADDR+4500000" \
--change-address $PAYMENT_ADDR \
--out-file tx.unsigned
# 5. Sign and submit (use operator skill)cardano-cli conway transaction build \
... \
--calculate-plutus-script-cost costs.json
cat costs.json | jq .shared/PRINCIPLES.mdcardano-cli-plutus-scripts-operatoraiken-smart-contracts