Execute a Script

[Previous << Create Emulator Snapshot](https://qiita.com/flowcadence/items/4d21672e2f465a8069ab)
[Next >> Send a Transaction](https://qiita.com/flowcadence/items/8a5bcb87dc291815532d)

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

Flow CLIは、いずれかのFlow Access APIを通してFlow実行ノード上にCadenceスクリプトを実行するコマンドを提供しています。
```ruby
flow scripts execute <filename> [<argument> <argument>...] [flags]
```

<h1>Example Usage</h1>

```ruby
# Execute a script on Flow Testnet
> flow scripts execute script.cdc "Hello" "World"

"Hello World"
```

<b>Script source code:</b>

```ruby
access(all) fun main(greeting: String, who: String): String {
	return greeting.concat(" ").concat(who)
}
```
<h1>Arguments</h1>

<h3>Filename</h3>

* Name: `filename`
* Valid inputs: a path in the current filesystem.

最初の引数は、実行するスクリプトを含むCadenceファイルへのパスです。

<h3>Arguments</h3>

* Name: `argument`
* Valid inputs: valid [cadence values](https://qiita.com/flowcadence/items/24135a1ea2f755e7fd19) matching argument type in script code.

ソースコードの型に一致する引数の値を、同じ順序で入力して渡します。オプショナルの引数がある場合にはあなたは`nil`を値として次のように渡すことができます。：`flow scripts execute script.cdc nil`
<h1>Flags</h1>

<h3>Arguments JSON</h3>

* Flag: `--args-json`
* Valid inputs: arguments in JSON-Cadence form.
* Example: `flow scripts execute script.cdc '[{"type": "String", "value": "Hello World"}]'`

Cadenceスクリプトに渡される引数はCadence JSONフォーマットで指定します。Cadence JSONフォーマットは、`type`および`value`のキーを含みます。それぞれ[こちらで説明されて](https://qiita.com/flowcadence/items/24135a1ea2f755e7fd19)います。

<h3>Host</h3>

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

コマンドの実行に使用する Access API のホスト名を指定します。このフラグは、`--network` フラグで定義されたホストをすべて上書きします。

<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: a 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: a path in the current filesystem.

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

<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: a path in the current filesystem.
* Default: `flow.json`

`flow.json` コンフィギュレーションファイルへのパスを指定します。`-f` フラグを複数回使用して複数のコンフィグレーションファイルをマージすることもできます。

<h3>Version Check</h3>

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

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

*Last updated on **Nov 20, 2024** by **Chase Fleming***

翻訳元

https://developers.flow.com/tools/flow-cli/scripts/execute-scripts

***
<b>[Previous << Create Emulator Snapshot](https://qiita.com/flowcadence/items/4d21672e2f465a8069ab)
</b>

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

<b>[Next >> Send a Transaction](https://qiita.com/flowcadence/items/8a5bcb87dc291815532d)</b>