cardano-protocol-params

📁 thamacroman/cardano-agent-skills 📅 10 days ago
4
总安装量
3
周安装量
#48920
全站排名
安装命令
npx skills add https://github.com/thamacroman/cardano-agent-skills --skill cardano-protocol-params

Agent 安装分布

openclaw 3
opencode 2
codex 2

Skill 文档

cardano-protocol-params

When to use

  • Fetching fresh protocol parameters
  • Understanding fee calculation inputs
  • Debugging min-UTxO or execution budget issues
  • Comparing params across networks

Operating rules (must follow)

  • Always fetch fresh params for the target network
  • Never assume mainnet params apply to testnets
  • Keep pparams.json with tx artifacts for reproducibility

Key parameters explained

Fee calculation

minFeeA: 44           # lovelace per byte
minFeeB: 155381       # base fee in lovelace

Formula: fee = minFeeA * txSize + minFeeB

Min UTxO

coinsPerUTxOByte: 4310   # lovelace per byte of UTxO

Minimum ADA required = size of UTxO (including datum) × coinsPerUTxOByte

Execution units (Plutus)

maxTxExecutionUnits:
  steps: 10000000000     # CPU budget
  memory: 10000000       # Memory budget
executionUnitPrices:
  priceSteps: 0.0000721  # lovelace per step
  priceMemory: 0.0577    # lovelace per memory unit

Reference scripts

minFeeRefScriptCostPerByte: 15  # Cost for using reference scripts

Workflow

Fetch parameters

# Preprod
cardano-cli conway query protocol-parameters \
  --testnet-magic 1 \
  --out-file pparams-preprod.json

# Mainnet
cardano-cli conway query protocol-parameters \
  --mainnet \
  --out-file pparams-mainnet.json

Extract key values

# Using jq
cat pparams.json | jq '{
  minFeeA: .txFeePerByte,
  minFeeB: .txFeeFixed,
  coinsPerUTxOByte: .utxoCostPerByte,
  maxTxSize: .maxTxSize,
  maxValSize: .maxValueSize
}'

Calculate min-UTxO for output

# Approximate: base ~160 bytes + datum size
# For simple ADA-only output: ~1 ADA minimum
# For output with tokens: varies by token count/names

Examples

Example: Debug “UTxO too small” error

Problem: Transaction fails with min-UTxO error

Response:

# 1. Fetch current params
cardano-cli conway query protocol-parameters \
  --testnet-magic 1 \
  --out-file pparams.json

# 2. Check coinsPerUTxOByte
cat pparams.json | jq .utxoCostPerByte
# Result: 4310

# 3. Estimate min-UTxO for your output
# Simple ADA output: ~160 bytes × 4310 = ~690,000 lovelace
# With inline datum: add datum size × 4310
# With tokens: add ~30 bytes per token

# 4. Solution: increase output amount above minimum

Example: Estimate script execution cost

Problem: Need to budget for Plutus script

Response:

# 1. Get execution prices
cat pparams.json | jq '{
  priceSteps: .executionUnitPrices.priceSteps,
  priceMemory: .executionUnitPrices.priceMemory
}'

# 2. If script uses 1M steps and 100K memory:
# Cost = (1000000 × 0.0000721) + (100000 × 0.0577)
# Cost = 72.1 + 5770 = 5842.1 lovelace (~0.006 ADA)

# 3. Add to base tx fee for total

Network magic reference

Mainnet:  (no flag, use --mainnet)
Preprod:  --testnet-magic 1
Preview:  --testnet-magic 2

Safety / key handling

  • Protocol params are public, no secrets involved
  • Always verify you’re querying the intended network
  • Store pparams with tx artifacts for debugging

References