Flux-Point-Studios

cardano-cli-plutus-scripts-operator

"Execute Plutus script transactions: script spends, datum/redeemer submission. Manual invoke only."

Flux-Point-Studios 8 2 Updated 7mo ago
GitHub

Install

npx skillscat add flux-point-studios/cardano-agent-skills/cardano-cli-plutus-scripts-operator

Install via the SkillsCat registry.

About this skill

We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no bullet points, no headings, no markdown. At most 60 words. Must not wrap in quotes. Just the summary text. We need to explain what the skill does, what problem it solves, when to use it. So something like: "The skill enables execution of Plutus script transactions, allowing users to spend funds locked by a script address by submitting a datum and redeemer. It solves the problem of programmatically invoking script-based payments while requiring manual confirmation to manage collateral risk.

SKILL.md

cardano-cli-plutus-scripts-operator

OPERATOR SKILL: Executes Plutus script transactions. Requires explicit human invocation due to collateral risk.

When to use

  • When ready to spend from a script address
  • After reviewing guidance from cardano-cli-plutus-scripts

Operating rules (must follow)

  • ALWAYS verify collateral UTxO is ADA-only
  • Confirm script hash matches expected
  • Validate datum/redeemer JSON before use
  • REQUIRE explicit confirmation before submit
  • Test on preprod/preview before mainnet

Pre-flight checklist

[ ] Network: ___________
[ ] Script file (.plutus) verified
[ ] Script hash matches on-chain
[ ] Datum JSON validated
[ ] Redeemer JSON validated
[ ] Collateral UTxO selected (ADA-only!)
[ ] Protocol parameters fresh

Execution workflow

Step 1: Verify script

# Get script hash
cardano-cli conway transaction policyid \
  --script-file script.plutus

# Derive script address
cardano-cli conway address build \
  --payment-script-file script.plutus \
  --testnet-magic 1 \
  --out-file script.addr

Step 2: Query script UTxO

cardano-cli conway query utxo \
  --address $(cat script.addr) \
  --testnet-magic 1

Step 3: Prepare collateral

# Must be ADA-only UTxO at your payment address
cardano-cli conway query utxo \
  --address <payment-addr> \
  --testnet-magic 1

# Select one with only ADA (no tokens)

Step 4: 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

Step 5: Sign and submit

# Sign (collateral signer required)
cardano-cli conway transaction sign \
  --tx-file tx.unsigned \
  --signing-key-file payment.skey \
  --testnet-magic 1 \
  --out-file tx.signed

# ⚠️ CONFIRM before submit
echo "=== SCRIPT SPEND CONFIRMATION ==="
echo "Script: $(cat script.addr | head -c 20)..."
echo "Spending UTxO: <script-utxo>"
echo "Collateral: <collateral-utxo>"
echo "Output to: <recipient>"

cardano-cli conway transaction submit \
  --testnet-magic 1 \
  --tx-file tx.signed

Debugging failed scripts

# If script fails, check execution units
cardano-cli conway transaction build \
  ... \
  --calculate-plutus-script-cost cost.json

# Review cost.json for budget issues
cat cost.json | jq .

Safety / key handling

  • Collateral is at risk if script fails unexpectedly
  • Use minimal collateral (1-5 ADA typically sufficient)
  • Keep datum/redeemer free of secrets
  • Verify script logic on testnet first

References

  • cardano-cli-plutus-scripts (guidance skill)
  • shared/PRINCIPLES.md