Sign a Transaction

[Previous << Build a Complex Transaction](https://qiita.com/flowcadence/items/af26fea25dbea5eb6599)
[Next >> Send Signed Transaction](https://qiita.com/flowcadence/items/f87b20072a4a66f15e23)

https://qiita.com/flowcadence/items/3073d69c6e9895e68b5a#flow-cli-と-fcl

Flow CLI には、承認者アカウント、支払者アカウント、提案者アカウントを指定するオプションとともに、トランザクションに署名するためのコマンドが用意されています。

この機能は次の順序で使用します。
1. `build`コマンドを使用してトランザクションを構築します。
1. 以下のコマンド（`sign`）を使用して、buildプロセスで指定した各アカウントで署名します。
1. `send-signed`コマンドを使用して、署名済みのトランザクションを Flow ネットワークに送信します。
```ruby
flow transactions sign <built transaction filename>
```

<h1>Example Usage</h1>

```ruby
> flow transactions sign ./built.rlp --signer alice \
  --filter payload --save signed.rlp

Hash		b03b18a8d9d30ff7c9f0fdaa80fcaab242c2f36eedb687dd9b368326311fe376
Payer		f8d6e0586b0a20c7
Authorizers	[f8d6e0586b0a20c7]

Proposal Key:	
    Address	f8d6e0586b0a20c7
    Index	0
    Sequence	6

No Envelope Signatures

Payload Signature 0:
    Address	f8d6e0586b0a20c7
    Signature	b5b1dfed2a899037...164e1b224a7ac924018e7033b68b0df86769dd54
    Key Index	0


Arguments (1):
    - Argument 0: {"type":"String","value":"Meow"}


Code

transaction(greeting: String) {
  let guest: Address

  prepare(authorizer: &Account) {
    self.guest = authorizer.address
  }

  execute {
    log(greeting.concat(",").concat(self.guest.toString()))
  }
}


Payload:
f90184f...a199bfd9b837a11a0885f9104b54014750f5e3e5bfe4a5795968b0df86769dd54c0
```

<h1>Arguments</h1>

<h3>Built Transaction Filename or Remote Server URL</h3>

* Name: built `transaction filename | --from-remote-url <url>`
* Valid inputs: Any filename and path valid on the system or --from-remote-url flag and fully qualified remote server url.

署名に使用する有効なトランザクションペイロードを含むファイル名を指定します。`flow transaction build` コマンドと併用します。

--from-remote-urlフラグを使用する場合、値はトランザクションRLPへの完全修飾URLである必要があります。 例：`flow transaction sign --from-remote-url https://fully/qualified/url --signer alice`


<h1>Flags</h1>

<h3>From Remote Url</h3>

* Flag: `--from-remote-url`
* Valid input: `http(s)://fully/qualified/server/url`

このフラグをトランザクションRLPへの完全修飾URLとともに指定します。RLPはサーバーから取得され、署名されます。署名されたRLPは、リモートURLにPOSTされます。この機能は、複数の署名者によるプロトコルレベルの複数署名トランザクション調整をサポートするためのものです。Note: --yesフラグはサポートされておらず、使用すると`sign`コマンドが失敗します。この挙動は、ユーザーに強制的にcadenceコードを検証すること強いています。

<h3>Include Fields</h3>

* Flag: `--include`
* Valid inputs: `code`, `payload`, `signatures`

出力結果に含めるフィールドを指定します。テキスト出力のみに適用されます。

<h3>Signer</h3>

* Flag: `--signer`
* Valid inputs: the name of an account defined in the configuration (`flow.json`)

トランザクションに署名する際に使用するアカウントの名前を指定します。

<h3>Host</h3>

* Flag: `--host`
* Valid inputs: an IP address or hostname.
* Default: `127.0.0.1:3569` (Flow Emulator)

コマンドの実行に使用する Access API のホスト名を指定します。

<h3>Network Key</h3>

* Flag: `--network-key`
* Valid inputs: ホストの有効なネットワーク公開鍵の 16 進数文字列

コマンドを実行する際に、セキュアなGRPCクライアントを作成するために使用するAccess APIのネットワーク公開鍵を指定します。

<h3>Network</h3>

* Flag: `--network`
* Short Flag: `-n`
* Valid inputs: the name of a network defined in the configuration (`flow.json`)
* Default: `emulator`

どのネットワークに対してコマンドを実行するのかを指定します。

<h3>Filter</h3>

* Flag: `--filter`
* Short Flag: `-x`
* Valid inputs: case-sensitive name of the result property.

結果から、唯一の値として取得したいプロパティの名前を指定します。

<h3>Output</h3>

* Flag: `--output`
* Short Flag: `-o`
* Valid inputs: `json`, `inline`

コマンド結果のフォーマットを指定します。

<h3>Save</h3>

* Flag: `--save`
* Short Flag: `-s`
* Valid inputs: valid filename

結果を保存したいファイル名を指定してください。

<h3>Log</h3>

* Flag: `--log`
* Short Flag: `-l`
* Valid inputs: `none`, `error`, `debug`
* Default: `info`

ログレベルを指定します。コマンド実行中に表示する出力を制御します。

<h3>Configuration</h3>

* Flag: `--config-path`
* Short Flag: `-f`
* Valid inputs: valid filename

設定ファイルへのパスを指定します。`-f` フラグを複数回使用して複数の設定ファイルをマージすることもできます。

<h3>Version Check</h3>

* Flag: `--skip-version-check`
* Default: `false`

低速な接続を避けて処理を高速化するために、起動時のバージョンチェックをスキップします。

*Last updated on **Dec 11, 2024** by **Chase Fleming***

翻訳元

https://developers.flow.com/tools/flow-cli/transactions/sign-transaction

***
<b>[Previous << Build a Complex Transaction](https://qiita.com/flowcadence/items/af26fea25dbea5eb6599)
</b>

[Flow blockchain / Cadence version1.0ドキュメント](https://qiita.com/flowcadence/items/3073d69c6e9895e68b5a) (Sign a Transaction)

<b>[Next >> Send Signed Transaction](https://qiita.com/flowcadence/items/f87b20072a4a66f15e23)</b>