Previous << Build a Transaction
Next >> Sign a Transaction
Simple Transactions
Flow CLI を使用してトランザクションを送信するには、ここに記載されているsendコマンドを使用するだけで実現できます。
Complex Transactions
より複雑なトランザクションを構築したい場合は、Flow CLIが提供するコマンドを使用して、トランザクションの構築、署名、送信を行うことができます。これにより、異なる承認者、署名者、提案者を指定することができます。
複雑なトランザクションの送信プロセスには、以下の3つのステップが含まれます。
各コマンドのフラグと引数については、上記のリンク先で詳細をご確認ください。
Examples
ここでは、複雑なトランザクションの一般的な例を説明します。すべての例は、example configurationを使用しています。
Single payer, proposer and authorizer
最もシンプルなFlow トランザクションでは、単一のアカウントを提案者、支払者、承認者として宣言します。
Build the transaction:
> flow transactions build tx.cdc
--proposer alice
--payer alice
--authorizer alice
--filter payload --save tx1
Sign the transaction:
> flow transactions sign tx1 --signer alice
--filter payload --save tx2
Submit the signed transaction:
> flow transactions send-signed tx2
Transaction content (tx.cdc
):
transaction {
prepare(signer: &Account) {}
execute { ... }
}
Single payer and proposer, multiple authorizers
同じ支払者および提案者と宣言するトランザクションだが、トランザクションに署名するには複数の承認者が必要となります。署名の順序が重要であり、支払者は最後に署名しなければならないことに注意してください。
Build the transaction:
> flow transactions build tx.cdc
--proposer alice
--payer alice
--authorizer bob
--authorizer charlie
--filter payload --save tx1
Sign the transaction with authorizers:
> flow transactions sign tx1 --signer bob
--filter payload --save tx2
> flow transactions sign tx2 --signer charlie
--filter payload --save tx3
Sign the transaction with payer:
> flow transactions sign tx3 --signer alice
--filter payload --save tx4
Submit the signed transaction:
> flow transactions send-signed tx4
Transaction content (tx.cdc
):
transaction {
prepare(bob: &Account, charlie: &Account) {}
execute { ... }
}
Different payer, proposer and authorizer
異なる支払者、提案者、承認者がそれぞれ個別に署名することを宣言するトランザクション。署名の順序が重要であり、支払者は最後に署名しなければならないことにご注意ください。
Build the transaction:
> flow transactions build tx.cdc
--proposer alice
--payer bob
--authorizer charlie
--filter payload --save tx1
Sign the transaction with proposer:
> flow transactions sign tx1 --signer alice
--filter payload --save tx2
Sign the transaction with authorizer:
> flow transactions sign tx2 --signer charlie
--filter payload --save tx3
Sign the transaction with payer:
> flow transactions sign tx3 --signer bob
--filter payload --save tx4
Submit the signed transaction:
> flow transactions send-signed tx4
Transaction content (tx.cdc
):
transaction {
prepare(charlie: &Account) {}
execute { ... }
}
Single payer, proposer and authorizer but multiple keys
同じ支払者、提案者、承認者を宣言するトランザクションだが、署名者アカウントには2つの鍵があり、それぞれ半分の重みであるので、その2つの鍵が必要である。
Build the transaction:
> flow transactions build tx.cdc
--proposer dylan1
--payer dylan1
--authorizer dylan1
--filter payload --save tx1
Sign the transaction with the first key:
> flow transactions sign tx1 --signer dylan1
--filter payload --save tx2
Sign the transaction with the second key:
> flow transactions sign tx2 --signer dylan2
--filter payload --save tx3
Submit the signed transaction:
> flow transactions send-signed tx3
Transaction content (tx.cdc
):
transaction {
prepare(signer: &Account) {}
execute { ... }
}
Configuration
これは、擬似的な(モック)値を使用した設定例です。
{
...
"accounts": {
"alice": {
"address": "0x1",
"key": "111...111"
},
"bob": {
"address": "0x2",
"key": "222...222"
},
"charlie": {
"address": "0x3",
"key": "333...333"
},
"dylan1": {
"address": "0x4",
"key": "444...444"
},
"dylan2": {
"address": "0x4",
"key": "555...555"
}
}
...
}
Last updated on Dec 11, 2024 by Chase Fleming
翻訳元
Previous << Build a Transaction
Flow BlockchainのCadence version1.0ドキュメント (Build a Complex Transaction)