cardano-cli-transactions について
`cardano-cli`でCardano取引を作成する人向けのガイダンススキルです。コマンド例と説明を示し、取引は実行せず、実行処理は`cardano-cli-transactions-operator`に委ねます。
主な機能
- 01取引作成コマンドのテンプレート
- 02UTxO選択とおつりの説明
- 03トークンとメタデータの例
- 04ネットワーク確認と手数料の案内
- 05Dockerラッパーによる代替手順
活用シーン
- 01Cardano取引作成パターンの学習
- 02ADA送金コマンド手順の作成
- 03複数出力やトークン取引の準備
- 04ローカルにcardano-cliがない環境でのコマンド作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ flux-point-studios/ cardano-agent-skills --skill cardano-cli-transactionsインストール後、Claude Code で/cardano-cli-transactionsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/docker-fallback.mdtx-send-ada.mdscripts/cardano-cli.sh詳細
cardano-cli-transactions
これはガイダンス用のスキルです。 テンプレートと説明を提供します。実行には
cardano-cli-transactions-operatorを使用してください。
使用する場面
- トランザクション構築パターンを学ぶ
- UTxO の選択とお釣りについて理解する
- さまざまな種類のトランザクションのコマンドテンプレートを取得する
運用ルール(必ず従うこと)
- コマンドを提示する前に、ネットワーク(mainnet/preprod/preview)を確認する
- 実行はしない。テンプレートのみを提供する
- 必ず手数料の処理とお釣りを含める
- 検証手順を含める
Docker フォールバックモード
cardano-cli がローカルにインストールされていない場合は、このスキルフォルダー内のラッパースクリプトを使用して、Docker 内で cardano-cli を実行してください(Cardano のノードコンテナーイメージには CLI が含まれています)。
chmod +x {baseDir}/scripts/cardano-cli.sh
{baseDir}/scripts/cardano-cli.sh version
注:
- ラッパーは現在のディレクトリを
/workとしてコンテナーにマウントするため、pparams.json、tx.body、datum.jsonなどのファイルを通常どおり使用できます。 - ローカルノードのソケットがある場合は、実行前に
CARDANO_NODE_SOCKET_PATHを設定すると、queryコマンドが動作します。 CARDANO_DOCKER_IMAGE=ghcr.io/intersectmbo/cardano-node:<tag>でイメージを上書きできます。
ワークフローテンプレート
ADA の簡単な送金
# 1. Query sender UTxOs
cardano-cli conway query utxo \
--address <sender-addr> \
--testnet-magic 1
# 2. Get protocol parameters
cardano-cli conway query protocol-parameters \
--testnet-magic 1 \
--out-file pparams.json
# 3. Build transaction
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <utxo-hash>#<index> \
--tx-out <recipient>+<amount-lovelace> \
--change-address <sender-addr> \
--out-file tx.unsigned
# 4. Sign
cardano-cli conway transaction sign \
--tx-file tx.unsigned \
--signing-key-file payment.skey \
--testnet-magic 1 \
--out-file tx.signed
# 5. Submit
cardano-cli conway transaction submit \
--testnet-magic 1 \
--tx-file tx.signed
# 6. Verify
cardano-cli conway transaction txid --tx-file tx.signed
複数出力のトランザクション
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <utxo>#<index> \
--tx-out <addr1>+<amount1> \
--tx-out <addr2>+<amount2> \
--tx-out <addr3>+<amount3> \
--change-address <sender> \
--out-file tx.unsigned
ネイティブトークンを使用する場合
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <utxo>#<index> \
--tx-out "<recipient>+<lovelace>+<amount> <policy-id>.<asset-name>" \
--change-address <sender> \
--out-file tx.unsigned
メタデータを使用する場合
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <utxo>#<index> \
--tx-out <recipient>+<amount> \
--change-address <sender> \
--metadata-json-file metadata.json \
--out-file tx.unsigned
例
例:preprod で 10 ADA を送金する
ユーザーの依頼:「addr_test1qz... に 10 ADA を送金してください」
回答:
# === Send 10 ADA on Preprod ===
# Setup
SENDER_ADDR="addr_test1..."
RECIPIENT="addr_test1qz..."
AMOUNT=10000000 # 10 ADA in lovelace
# 1. Query UTxOs
cardano-cli conway query utxo \
--address $SENDER_ADDR \
--testnet-magic 1
# 2. Build (using first UTxO with sufficient funds)
cardano-cli conway transaction build \
--testnet-magic 1 \
--tx-in <paste-utxo-here>#0 \
--tx-out "$RECIPIENT+$AMOUNT" \
--change-address $SENDER_ADDR \
--out-file tx.unsigned
# 3. Sign
cardano-cli conway transaction sign \
--tx-file tx.unsigned \
--signing-key-file payment.skey \
--testnet-magic 1 \
--out-file tx.signed
# 4. Submit (use operator skill or run manually)
# cardano-cli conway transaction submit --testnet-magic 1 --tx-file tx.signed
Tx バンドルのフォルダー構成
tx-20240115-143022/
├── pparams.json # Protocol parameters used
├── tx.unsigned # Unsigned transaction
├── tx.signed # Signed transaction
├── utxos.json # Input UTxOs at build time
└── commands.log # Commands executed
安全性/キーの取り扱い
- 署名キーを決して公開しない
- 受取人のアドレスを慎重に確認する
- mainnet では、まず少額のテスト送金を行う
- 監査証跡として tx バンドルを保管する
参考資料
shared/PRINCIPLES.mdcardano-cli-transactions-operator(実行用)
コメント
Markdown 対応