暗号資産を購入
市場
現物
先物取引BTC
MEXC Earn
イベントセンター
報酬ハブ
もっと見る
手数料0祭
Flow CLI(Dapper Labs): Flow CLIとは?Flow CLIは、アプリケーションの開発やFlowブロックチェーンとのやり取りに使う公式コマンドラインインターフェースです。CLIはコマンドラインインターフェースの略称で、グラフィカルアプリケーション上のボタンをクリックする代わりに、ターミナルへテキストコマンドを入力してツールを操作する仕組みです。Flow CLIは、ブロックチェーンプロジェクトの初期化、ローカルFlowネFlow CLI(Dapper Labs): Flow CLIとは?Flow CLIは、アプリケーションの開発やFlowブロックチェーンとのやり取りに使う公式コマンドラインインターフェースです。CLIはコマンドラインインターフェースの略称で、グラフィカルアプリケーション上のボタンをクリックする代わりに、ターミナルへテキストコマンドを入力してツールを操作する仕組みです。Flow CLIは、ブロックチェーンプロジェクトの初期化、ローカルFlowネ

Flow CLI(Dapper Labs)

2026/10/13 15:35
#Advanced
FLOW
FLOW$0.03278-7.08%
Humanity
H$0.05372-11.00%
SynFutures
F$0.003095-5.64%
PX
PX$0.0123-6.10%
NODE
NODE$0.00522-0.55%

Flow CLIとは?

Flow CLIは、アプリケーションの開発やFlowブロックチェーンとのやり取りに使う公式コマンドラインインターフェースです。

CLIはコマンドラインインターフェースの略称で、グラフィカルアプリケーション上のボタンをクリックする代わりに、ターミナルへテキストコマンドを入力してツールを操作する仕組みです。

Flow CLIは、ブロックチェーンプロジェクトの初期化、ローカルFlowネットワークの起動、Cadenceコードのテスト、スマートコントラクトのデプロイ、トランザクションの送信、スクリプトの実行、アカウント管理、鍵の生成、コントラクト依存関係のインストール、ブロックチェーンデータの取得に利用できます。

ローカルのFlow Emulator、Flow Testnet、Flow Mainnetで共通の開発ワークフローを提供します。

主な対象は、Flow上で開発を行うスマートコントラクト開発者、分散型アプリケーションチーム、インフラエンジニア、テスターなどの技術者です。

Flow CLIは暗号資産、暗号資産ウォレット、ブロックチェーンノード、一般消費者向けアプリ、取引商品ではありません。

Flow Access Nodeやローカル開発サービスと通信する開発者向けソフトウェアです。

Flow CLI公式ドキュメントでは、プロジェクト、アカウント、コントラクト、トランザクション、依存関係、ブロックチェーンへのクエリを一つのインターフェースで管理するツールと説明されています。

Flow CLIとDapper Labsの関係

FlowはもともとDapper Labsが設計・開発したため、「Flow CLI Dapper Labs」という検索語が使われることがあります。

Dapper Labsは、限られた処理リソースをすべてのアプリケーションが奪い合うことなく、多数の一般ユーザーに対応できるブロックチェーンアプリケーションを支えるためにFlowを開発しました。

FlowとCadenceの公式沿革では、Dapper Labsがブロックチェーンの当初の設計者および開発者として紹介されています。

現在、Flow CLIはOnflow組織を通じてオープンソースソフトウェアとして配布され、Flow開発者エコシステムの一部を構成しています。

公式ソースコードリポジトリはApache 2.0ライセンスで公開されています。

したがって、Flow CLIはDapper Labs内だけで運用される個人向けアプリではなく、Flowネットワークの公式開発ツールとして理解する必要があります。

Flow CLIの最新バージョンは?

2026年7月14日時点で、公開されているFlow CLIの最新リリースはバージョン2.17.4です。

バージョン2.17.4は2026年6月4日にリリースされ、Cadence 1.10.3に対応するよう更新されました。

同リリースでは、同梱されるFlowコアコントラクト関連のコンポーネントもCadence 1.10.3に対応するバージョンに更新されました。

最新リリースはFlow CLI公式リリースページで確認できます。

CLIは、新しいCadenceリリース、エミュレーターの更新、コアコントラクト、ネットワーク機能、セキュリティ修正に対応する必要があるため、バージョン情報は頻繁に変わる可能性があります。

ターミナルで

flow version
を実行すると、インストール済みのバージョンを確認できます。

本番環境のチームは、デプロイのたびに自動でバージョンを変更するのではなく、テスト済みのCLIバージョンを指定してビルドシステムで使う必要があります。

Flow CLIが重要な理由

ブロックチェーン開発では、スマートコントラクトのファイルを書くだけでは不十分です。

開発者は、アカウントの作成、鍵の管理、コントラクトアドレスの解決、署名済みトランザクションの送信、結果の確認、失敗条件のテスト、正しいネットワークへのコードのデプロイも行う必要があります。

Flow CLIは、こうした作業を一貫したツールにまとめます。

日常的な開発作業でFlow Access Nodeへの生のリクエストを手動で作成する必要を減らします。

CLIを使うとコマンドを再現できるため、テスト、デプロイスクリプト、継続的インテグレーション、チームでの共同作業に役立ちます。

デプロイスクリプトに保存したコマンドはレビューでき、複数の開発環境で一貫して実行できます。

これは、文書化されていない手動操作だけに依存するより安全です。

Flow CLIのインストール方法

Flow CLIはmacOS、Windows、およびほとんどのLinuxシステムにインストールできます。

利用できるバイナリや対応OSのバージョンは変更される場合があるため、Flow CLI公式インストール手順に従ってください。

macOSでは、一般的に

brew install flow-cli
を実行してインストールします。

Homebrewでインストールした場合、通常は

brew upgrade flow-cli
で更新できます。

対応するLinux、macOS、Windows環境向けに、公式インストールスクリプトも用意されています。

管理者権限でインストールスクリプトを実行する前に、内容を確認してください。

未確認のウェブサイトやSNSメッセージからコピーしたソフトウェアを直接インストールすると、コンピューター、秘密鍵、プロジェクトファイルが悪意あるコードにさらされる可能性があります。

インストール後は

flow version
と
flow help
を実行し、実行ファイルが正常に動作し、システムパスから利用できることを確認してください。

Flowプロジェクトの開始方法

Flowプロジェクトの作成に使う主なコマンドは

flow init
です。

このコマンドはプロジェクトの構成を作成し、

flow.json
という設定ファイルを生成します。

Flow CLIの現行バージョンでは、基本的なCadenceプロジェクトや、より専門的なブロックチェーン開発ワークフローなど、複数の種類のアプリケーション用のひな型を選べる場合があります。

ひな型には、スマートコントラクト、トランザクション、スクリプト、テスト、プロジェクト設定用のディレクトリが含まれることがあります。

プロジェクト初期化に関する公式ガイドでは、

flow init
によって新しい開発環境に必要なファイルを作成する方法を説明しています。

生成されたプロジェクトを確認し、すべての初期設定が本番環境に適していると思い込まないようにしてください。

ライブトランザクションを送信する前に、ネットワークアドレス、アカウントの別名、依存関係、署名者の設定、デプロイ先をすべて確認してください。

flow.jsonとは?

flow.json
はFlow CLIが使用する中心的な設定ファイルです。

CLIが利用するネットワーク、アカウント、コントラクト、依存関係、デプロイ先、プロジェクトのパスを記述します。

flow.json公式設定リファレンスでは、利用できるセクションと形式が説明されています。

networks
セクションでは、エミュレーター、テストネット、メインネットなどの環境への接続を定義します。

accounts
セクションでは、読みやすいアカウント名をFlowアドレスや署名鍵の設定に対応付けます。

contracts
セクションでは、Cadenceコントラクト名をソースファイルやネットワークごとのアドレスに対応付けます。

deployments
セクションでは、各ネットワーク上のどのアカウントにどのコントラクトをデプロイするかを指定します。

適切に管理された設定ファイルを使うと、同じCadenceインポート先をエミュレーター、テストネット、メインネットそれぞれのアドレスに解決できます。

これにより、ソースファイルごとに一つのネットワークのコントラクトアドレスを直接書き込む必要がなくなります。

設定ファイルの変更でデプロイ先やアカウントの別名が変わると、意図しない環境へトランザクションを送る可能性があるため、チームは

flow.json
の変更をバージョン管理で確認してください。

flow.jsonに秘密鍵を保存できますか?

Flow CLIは秘密鍵情報を含む設定に対応していますが、暗号化されていない本番鍵を共有する

flow.json
に直接記載するのは危険です。

秘密鍵があれば、その鍵のウェイトとアカウント設定に従って、関連するFlowアカウントのブロックチェーントランザクションを承認できます。

設定ファイルが公開リポジトリへアップロードされると、攻撃者がコントラクト、トークン、管理機能を支配する可能性があります。

現行のFlow CLI設定では、16進数の鍵の直接指定、外部鍵ファイル、ニーモニックからの導出、Google Cloud KMSとの連携が利用できます。

外部の鍵管理システムを使うと、ローカルのプロジェクトファイルに生の署名情報を保存する必要性を減らせます。

鍵ファイル、環境別設定、その他の秘密情報は、公開バージョン管理の対象から除外してください。

エミュレーター用、テストネット用、メインネット用の鍵も分ける必要があります。

エミュレーターのデフォルトサービス鍵は公開されています。実際の資産を含まないローカル開発ネットワークであるために限り、安全に利用できます。

Flow CLIが利用できるネットワーク

Flow CLIは、ローカルのFlow Emulator、Flow Testnet、Flow Mainnet、カスタムFlow Access Nodeエンドポイントと通信できます。

エミュレーターは、非公開のローカル開発用です。

テストネットは、本番のFlow資産を使わずにアプリケーションをテストするための公開環境です。

メインネットは、トランザクションが実際のアカウント、デプロイ済みコントラクト、暗号資産に影響する本番ブロックチェーンです。

多くのコマンドでは、対象環境を指定する

--network
オプションを利用できます。

たとえば、

--network emulator
、
--network testnet
、
--network mainnet
を指定できます。

ネットワークを指定または確認しないと、デプロイやトランザクションが開発者の意図とは異なる環境に送信される可能性があります。

本番用スクリプトでは対象ネットワークを明示し、メインネット署名者を使う前に追加の確認を必須にしてください。

Flow Emulatorとは?

Flow Emulatorは、開発やテスト用にFlowブロックチェーンの重要な動作を再現する、軽量なローカルネットワークです。

Flow CLIに含まれており、

flow emulator
で起動できます。

Flow Emulator公式ドキュメントでは、公開ネットワークを利用する前にトランザクションの実行、コントラクトのデプロイ、アプリケーションのテストを行うローカル環境と説明されています。

エミュレーターはローカルで動作するため、実際の暗号資産を使わずに状態をリセットし、詳細なログを確認し、失敗をテストできます。

エミュレーターには、ローカル環境でアカウントを作成し、トランザクションに署名し、コントラクトをデプロイできるサービスアカウントが含まれています。

その秘密鍵は意図的に公開され予測可能なため、メインネットでは使用できません。

エミュレーターはFlow Access APIとの高い機能互換性を備えていますが、すべての本番環境を1台のコンピューターで完全に再現できると考えるべきではありません。

公開ネットワークの遅延、バリデーターの動作、ネットワークの混雑、外部サービス、本番アカウントの設定により、結果が異なる場合があります。

ローカル開発ワークフローの仕組み

一般的なFlow CLIのワークフローは、

flow init
でプロジェクトを作成するところから始まります。

次に、

flow emulator
でローカルブロックチェーンを起動します。

プロジェクトにCadenceコントラクトを追加し、

flow.json
で対応付けます。

エミュレーターのアカウントにコントラクトをデプロイし、テストトランザクションやスクリプトを実行します。

flow test
で自動テストを実行できます。

ローカルテストに合格したら、共有の公開ネットワークでテストするためにテストネットへデプロイできます。

メインネットへのデプロイは、コード、アカウント設定、署名者の権限、依存関係、デプロイ計画を確認してから行ってください。

Flow CLIでスマートコントラクトをデプロイする方法

Flow CLIは、プロジェクト設定で定義されたアカウントへCadenceスマートコントラクトをデプロイできます。

プロジェクト単位のデプロイコマンドは

flow project deploy
です。

公式デプロイメントドキュメントによると、このコマンドは

flow.json
からコントラクトとデプロイ先を読み込みます。

デプロイ時には対象ネットワークを指定できます。

たとえば、

flow project deploy --network emulator
は、設定されたプロジェクトのコントラクトをローカル環境にデプロイします。

ネットワークをtestnetまたはmainnetに変更すると、CLIは対応するアカウント、別名、Access Nodeの設定を使用します。

スマートコントラクトのデプロイはブロックチェーントランザクションであり、適切な鍵の権限を持つアカウントによる承認が必要です。

Cadenceコードの誤り、インポートの解決失敗、アカウント権限の不足、不正な署名鍵、ネットワーク接続の問題などにより、デプロイに失敗する場合があります。

メインネットへのデプロイは取り消せない影響をもたらす可能性があるため、署名前にコントラクトのソースとアカウントアドレスを確認してください。

Flow CLIで既存コントラクトを更新できますか?

Flow CLIは、すでにFlowアカウントに保存されているコントラクトの更新トランザクションを送信できます。

更新は、コントラクトを保有するアカウントで十分なウェイトを持つ鍵によって承認される必要があります。

Cadenceコントラクトの更新には、保存済みリソースや既存のアプリケーション状態を保護する言語・ネットワーク上のルールが適用されます。

技術的に有効なトランザクションであっても、更新によってバグが入り、依存アプリケーションが動作しなくなり、想定された挙動が変わる可能性があります。

本番コントラクトを更新する前に、移行テストを実施し、既存のアカウントデータとの互換性を確認してください。

Flowコントラクトデプロイに関する公式ガイダンスでは、アカウント設定、デプロイ、コントラクト更新時の注意点が説明されています。

Cadenceとは?

Cadenceは、Flowブロックチェーン向けに設計されたスマートコントラクトプログラミング言語です。

暗号資産など、誤って複製したり失ったりすべきではない値を表現するため、リソース指向プログラミングの概念を採用しています。

Flow CLIには、Cadenceコードの実行、テスト、静的解析、デプロイ、操作に必要なツールが含まれます。

言語の変更は解析、型検査、実行、コントラクトの動作に影響するため、CLIとCadenceのバージョンに互換性を保つ必要があります。

Flow CLI 2.17.4にはCadence 1.10.3が同梱されています。

現在の言語仕様はCadence公式ドキュメントで確認できます。

Cadenceスクリプトとトランザクションの違い

Cadenceスクリプトは、ブロックチェーンの状態を恒久的に変更せずに読み取ります。

アカウント残高の取得、公開コントラクトフィールドの読み取り、結果の計算、保存された公開ケイパビリティの確認などに利用できます。

スクリプトはブロックチェーンの状態を変更できないため、トランザクション承認を必要としません。

Cadenceトランザクションはブロックチェーンの状態を変更できます。

暗号資産の移転、リソースの作成、コントラクト関数の呼び出し、アカウントストレージの変更、その他の承認済み操作を実行できます。

トランザクションでは、ペイヤー、プロポーザー、オーソライザーの役割を担うアカウントによる署名が必要です。

Flow CLIには、スクリプト実行とトランザクション送信用の別々のコマンドグループがあります。

読み取り専用スクリプトとは異なり、トランザクションの送信には承認、手数料、状態変更のリスクが伴うため、この違いは重要です。

Flow CLIでトランザクションを送信する方法

Flow CLIは、Flowトランザクションの構築、署名、送信、結果取得を行えます。

トランザクションコマンドでは、Cadenceトランザクションファイル、引数、署名者の設定、対象ネットワークを指定します。

CLIは

flow.json
またはコマンドラインオプションのアカウント情報を使って、必要な署名を作成します。

送信後、Flowトランザクションは最終的なSealed結果に達するまで複数のステータスを経ます。

送信後でも、Cadenceの実行でエラーが発生するとトランザクションが失敗する場合があります。

送信したことを成功の証拠と見なさず、トランザクション結果、発生したイベント、エラーメッセージを確認してください。

正確なコマンド構文と利用できるフラグは、Flow CLI公式コマンド概要に記載されています。

Flow CLIでアカウントを管理する方法

Flowアカウントには、暗号資産、スマートコントラクト、保存リソース、公開ケイパビリティ、1つ以上の公開鍵を含められます。

Flow CLIでは、アカウントの作成、詳細の取得、鍵の確認、鍵の追加・失効、権限を持つアカウントへのコントラクトデプロイが可能です。

アカウントモデルでは、Flowアドレスと単一の公開鍵が別々に扱われます。

アカウントには、ウェイト、署名アルゴリズム、ハッシュアルゴリズム、シーケンス番号が異なる複数の鍵を登録できます。

この設計により、鍵のローテーション、複数デバイスの利用、共同管理、その他の承認方式が可能になります。

Flowアカウントの公式ドキュメントでは、1つの鍵が常に1つのアドレスを決定するアドレスモデルとFlowアカウントの違いを説明しています。

侵害された鍵を失効させても、他の有効な鍵で十分な承認ウェイトを確保できなければアカウントを保護できません。

高額な本番アカウントで鍵管理手順を利用する前に、必ずテストしてください。

Flow CLIで暗号鍵を扱う方法

Flow CLIには、Flowに対応した鍵を生成・デコードするコマンドが含まれます。

デジタル署名を作成・検証するコマンドも利用できます。

予測可能な秘密鍵は攻撃者に再現される可能性があるため、鍵の生成には安全な乱数を使用する必要があります。

秘密鍵を公開課題、共有されるターミナル録画、チャットメッセージ、ソースコードリポジトリに貼り付けないでください。

秘密鍵をコマンド引数に直接指定すると、コマンドライン履歴から漏れる場合もあります。

本番システムでは、アクセス権を制限した専用鍵ファイル、ハードウェア保護ストレージ、または対応する鍵管理サービスを優先してください。

すべての有効な鍵を失うとアカウントを永久に操作できなくなる可能性があるため、鍵のバックアップも保護する必要があります。

Flow CLIの依存関係管理機能とは?

Flow CLIの依存関係管理機能は、プロジェクトで使用する外部Cadenceコントラクトをインストールし、追跡します。

スマートコントラクトは、Flowネットワーク上の別の場所にデプロイされた標準、インターフェース、実装に依存することがよくあります。

依存関係管理機能はコントラクトのソースを取得し、インポートを適切に解決できるようプロジェクト設定を更新できます。

flow dependencies list
は、プロジェクトで現在記録されている依存関係を表示します。

flow dependencies install
は、対応するネットワーク上の場所から依存関係をインストールできます。

依存関係管理に関する公式ドキュメントでは、コントラクト依存関係のインストール、確認、管理方法が説明されています。

オンチェーンのすべてのコントラクトが安全だと思い込まず、依存コードとアドレスを確認してください。

悪意ある依存関係や誤って特定された依存関係が、分散型アプリケーションに不正な動作を持ち込む可能性があります。

アプリケーションのデプロイ後に、別のアカウントがインポート先のコントラクトを更新できるかどうかも検討してください。

Flow CLIでCadenceスマートコントラクトをテストする方法

Flow CLIにはCadence Testing Frameworkが含まれており、

flow test
でテストファイルを実行します。

テストでは、スマートコントラクト、スクリプト、トランザクション、発生イベント、アカウント変更、想定される失敗を検証できます。

テスト環境ではFlow Emulatorが基盤として使われます。

これにより、公開ブロックチェーンに影響を与えずにアカウントの作成、コントラクトのデプロイ、トランザクションの送信、状態の確認を行えます。

Cadenceテストに関する公式ガイドでは、単体テストと統合テストのワークフローが説明されています。

統合テストは、アカウント設定、トランザクション承認、インポート、ケイパビリティ、リソース移動に関する問題を明らかにできるため、特に有用です。

コードカバレッジが高くても、危険な前提がテストされていない可能性があるため、コントラクトの安全性が証明されるわけではありません。

必要に応じて、セキュリティ上重要なコントラクトは手動レビュー、敵対的テスト、独立した監査も受けるべきです。

Flow CLIのフォークテストとは?

フォークテストでは、Flow MainnetまたはTestnetの状態を読み込みながら、変更をローカルで実行する開発環境を作成します。

元の公開ネットワークを変更せずに、実際にデプロイされたコントラクト、アドレス、ブロックチェーン状態に対してコードをテストできます。

たとえば、

flow emulator --fork mainnet
のようなコマンドでメインネットを基にしたフォークを起動できます。

Flowのフォークテスト公式ガイドでは、ローカルエミュレーターが別のFlowネットワークの状態を再現する仕組みが説明されています。

手作業で再現するのが難しいコントラクトやアカウントデータにアプリケーションが依存している場合、フォークテストが役立ちます。

本番コントラクトを更新する前に、互換性の問題を特定するのにも有用です。

フォーク環境は、Flowブロックチェーンの恒久的なフォークを作成するものではありません。

これは非公開のテスト用コピーであり、ローカルのトランザクションがメインネットやテストネットを変更することはありません。

本番の状態が後から変われば結果が異なる場合があるため、選択したブロック高とネットワークを確認してください。

Flow CLIのLintとは?

Lintは、コントラクトをデプロイせずに、ソースコードの潜在的なエラー、安全でないパターン、書式の問題などを調べます。

Flow CLIにはCadenceプロジェクト向けの

flow lint
コマンドがあります。

Lintによって開発の早い段階で一部の問題を特定でき、自動チェックにも組み込めます。

現行バージョンでは、Cadenceファイルを標準の場所とは別のディレクトリに保存するプロジェクト向けに、ベースディレクトリのオプションも利用できます。

Lintに合格しても、ビジネスロジック、アクセス制御、経済的インセンティブ、リソース管理の挙動が正しいと証明されるわけではありません。

Lintはテスト、コードレビュー、本番環境の監視と併用してください。

Flow CLIでブロックチェーンデータを照会する方法

Flow CLIは、Flow Access APIを通じて公開されるアカウント、ブロック、コレクション、イベント、トランザクション、実行結果、その他の情報を取得できます。

flow blocks get
は、識別子、高さ、または最新のブロックを指定して取得できます。

flow accounts get
はFlowアカウントの情報を取得します。

イベント関連コマンドでは、指定したブロック範囲で発生したイベントを取得できます。

トランザクション関連コマンドでは、送信したトランザクションの状態と結果を確認できます。

これらの機能は、開発、デバッグ、監視、簡易的なブロックチェーン調査に役立ちます。

Access Nodeや専用インデックスサービスによって照会機能が異なる場合があるため、CLIは完全な履歴インデクサーではありません。

大規模な分析アプリケーションには通常、CLIコマンドに加えてデータベース、イベント処理サービス、その他の専用インフラが必要です。

Flow Interaction Templateとは?

Flow Interaction Templateは、Cadenceのトランザクションとスクリプトを標準化された形式で記述するものです。

FLIXテンプレートと呼ばれることもあります。

テンプレートには、ウォレットやアプリケーションが操作を理解するために必要な実行コード、引数、依存関係、メタデータを記述できます。

Flow CLIには、対応する操作を実行、生成、パッケージ化するFLIXコマンドが含まれています。

テンプレートによって、アプリケーション開発者、ウォレット、スマートコントラクト間の一貫性を高められます。

ただし、テンプレートを利用してもスマートコントラクトやウォレットのリスクはなくなりません。署名前にトランザクションコードと引数を確認してください。

スケジュール済みトランザクションのコマンドとは?

Flow CLIの現行バージョンには、Flowのスケジュール済みトランザクションを操作するコマンドが含まれています。

スケジュール済みトランザクションを使うと、スマートコントラクトがネットワークのスケジューリングルールに従い、将来の自動実行を手配できます。

暗号資産の用途には、定期送金、遅延実行のコントラクト操作、自動化された金融ロジック、時間に基づくアプリケーションの挙動などがあります。

flow schedule setup
コマンドで、アカウントのスケジュール済みトランザクションを管理するために必要なマネージャーリソースを作成できます。

追加コマンドを使って、対応するスケジュール済みトランザクションの一覧表示、確認、キャンセルを行えます。

スケジュール済みトランザクションの公式ドキュメントでは、設定要件、優先順位、コマンドの動作を説明しています。

資産価格、アカウント残高、コントラクトの状態、ネットワーク環境は実行前に変わる可能性があるため、トランザクションをスケジュールしても経済的に有利な結果が保証されるわけではありません。

Flowserとは?

Flowserは、ローカルのFlow Emulator環境で利用できるビジュアルエクスプローラーです。

必要なコンポーネントが利用可能であれば、Flow CLIのコマンドからFlowserを起動できます。

インターフェースを使うと、開発者は各項目を手動で照会せずに、ローカルアカウント、コントラクト、ブロック、トランザクション、イベントを確認できます。

Flowserはコマンドラインを補完するものであり、自動テストやソースコードレビューに代わるものではありません。

ローカルエクスプローラーに表示される結果は現在のエミュレーター状態に関するもので、メインネットの活動と混同しないでください。

Flow Dev Walletとは?

Flow Dev Walletは、ウォレットの承認処理やアプリケーションとの連携をテストする開発ツールです。

対応するローカルワークフローでは、Flow CLIから開発用ウォレット環境を起動できます。

開発者は、分散型アプリケーションの構築時にログイン、アカウント承認、トランザクション承認、その他のウォレット動作をシミュレーションできます。

Dev Walletは、価値のある本番資産を保護する目的で設計されていません。

本番アプリケーションでは、適切なユーザーウォレットを統合し、安全な認証とトランザクション確認の手順に従う必要があります。

Flow CLIはFlow EVMに対応していますか?

FlowはCadenceスマートコントラクトとEthereum Virtual Machine環境の両方をサポートしますが、Flow CLIは主にFlowのCadenceとAccess APIによる開発を行う公式コマンドラインツールです。

Flow EVM上のSolidityアプリケーションでは一般に、EVM互換のJSON-RPCツールとEVM Gatewayを使います。

Flow EVM Gateway公式ドキュメントによると、EVMクライアントはEthereum JSON-RPC仕様を実装したゲートウェイを通じて接続します。

Cadenceアプリケーションは、Cadence Owned Accountsやネットワークコントラクトを通じてFlow EVMと連携することもできます。

Cadence、Solidity、または両方の実行環境を組み合わせたアプリケーションのいずれを開発するかに応じて、適切なツールを選んでください。

Flow CLIという名称が使われていても、EVM固有のすべての操作を同じコマンドセットで実行するわけではありません。

Flow CLIとFlow SDKの違い

Flow CLIは、対話型でスクリプト実行にも対応するターミナルツールです。

Flow SDKは、アプリケーションコードにインポートするプログラミングライブラリです。

CLIはローカル開発、プロジェクト設定、手動でのネットワーク操作、テスト、デプロイ自動化に適しています。

SDKは、稼働中にFlowと通信する必要があるバックエンドサービス、アプリケーションサーバー、ボット、ウォレット、インデクサー、その他のソフトウェアに適しています。

開発チームは、Flow CLIでコントラクトをデプロイした後、JavaScript、Go、モバイルSDKを使ってアプリケーションからそのコントラクトを操作できます。

両者は直接置き換えるものではなく、互いを補完します。

Flow CLIとグラフィカル開発環境の違い

グラフィカル開発環境には、メニュー、エディター、視覚的なアカウント管理ツールなど、クリック操作で使える機能があります。

Flow CLIのコマンドは自動化しやすく、スクリプトに保存し、継続的インテグレーションで再現できます。

グラフィカルツールは初心者にとって使いやすい場合があり、CLIは再現可能なワークフローをより細かく制御し、透明性を高められます。

多くの開発者は、統合開発環境でCadenceを編集しながら、組み込みターミナルでFlow CLIコマンドを実行し、両方を使っています。

公式Cadence拡張機能は構文支援や開発補助を提供し、Flow CLIは実行とデプロイを担います。

Flow CLIは継続的インテグレーションで利用できますか?

Flow CLIのコマンドは、継続的インテグレーションや継続的デプロイのワークフローに組み込めます。

パイプラインでは、バージョンを固定したCLIのインストール、CadenceファイルのLint、テスト、エミュレーターの初期化、テスト用コントラクトのデプロイ、想定されるトランザクションの検証などを実行できます。

本番メインネットへの自動デプロイには、自動テストよりもはるかに厳格な管理が必要です。

秘密鍵はパイプラインの設定ファイルに直接記載せず、安全なシークレット管理システムに保存してください。

本番デプロイでは、手動承認、署名済みリリース成果物、保護されたブランチ、複数のレビュアーが必要となる場合があります。

テスト、Lintチェック、デプロイ検証、トランザクション結果の確認で想定どおりの結果が得られなければ、パイプラインを失敗させる必要があります。

各リリースで使用したFlow CLIとCadenceのバージョンも記録してください。

Flow CLIは利用データを収集しますか?

Flow CLIは現在、デフォルトでMixpanelを通じてコマンド利用回数の集計データを収集します。

公式ドキュメントによると、この利用回数の集計システムではコマンド引数の値やフラグの値は収集されません。

flow settings metrics disable
でメトリクス収集を無効にできます。

flow settings metrics enable
で再び有効にできます。

Flow CLIのデータ収集に関する公式ページでは、収集対象と設定変更の方法が説明されています。

プライバシー、コンプライアンス、または隔離されたビルド環境に関する要件を持つ組織は、管理下の環境にCLIをインストールする前にテレメトリーの挙動を確認してください。

Flow CLIのセキュリティに関するベストプラクティス

Flow CLIは、公式ドキュメントまたは検証済みのリリースファイルからのみインストールしてください。

トランザクションに署名したりデプロイしたりする前に、選択中のネットワークを確認してください。

メインネットの秘密鍵を公開プロジェクトファイルに平文で保存しないでください。

ローカル開発、テスト、コントラクト管理、財務管理、通常のアプリケーション利用には、それぞれ別のアカウントと鍵を使用してください。

本番アカウントには適切な鍵ウェイトを設定し、保護されていない開発者のノートPC1台だけに依存しないでください。

ネットワークごとにコントラクトのインポート先と依存関係のアドレスを確認してください。

送信前に、署名者の役割、引数、ガス上限、対象コントラクトを確認してください。

送信したトランザクションが成功したと思い込まず、Sealed状態の結果を確認してください。

本番ワークフローに導入する前に、CLIのバージョンアップをテストしてください。

安全な代替承認手段を用意できる場合は、古い鍵や使用していないアカウント鍵を失効させてください。

Flow CLIの有効化に必要だと主張するウェブサイトに、シードフレーズや秘密鍵を入力してはいけません。

Flow CLIでよくあるエラー

接続エラーは、エミュレーターが起動していない、Access Nodeのアドレスが誤っている、指定ポートを利用できない、ネットワークサービスに接続できない、といった原因で発生する場合があります。

承認エラーは、秘密鍵、鍵インデックス、シーケンス番号、署名アルゴリズム、ハッシュアルゴリズム、アカウントアドレスの誤りが原因となる場合があります。

Cadenceコントラクトの別名が未設定、または誤ったネットワークアドレスを指していると、インポートエラーが発生することがあります。

Cadenceコードの誤り、言語バージョンの非互換性、依存関係の不足、アカウント承認の不足によって、デプロイエラーが発生する場合があります。

引数のCadence型が誤っている場合や、必要なリソースまたはケイパビリティがアカウントにない場合、トランザクションは失敗することがあります。

複数のトランザクションがほぼ同時に同じプロポーザー鍵を使用すると、シーケンス番号エラーが発生する場合があります。

エラー出力全体を読み、現在のネットワークを確認し、無関係なプロジェクト設定を変更する前にコマンドの

--help
オプションを利用してください。

Flow CLIの主な用途

Flow CLIは、新しいCadenceプロジェクトの作成と設定に利用できます。

スマートコントラクト開発用にローカルブロックチェーンを起動できます。

アカウントの作成やアカウント鍵の管理ができます。

Cadenceコントラクトのデプロイと更新ができます。

読み取り専用スクリプトや署名済みトランザクションを実行できます。

コントラクト依存関係のインストールやネットワーク別名の管理ができます。

単体テスト、統合テスト、Lint、メインネット状態を使ったフォークテストを実行できます。

ブロック、トランザクション、アカウント、コレクション、イベントを取得できます。

自動ビルド・デプロイパイプラインを支援できます。

アプリケーションのエラーを調査する際に、ブロックチェーン操作を再現するのにも役立ちます。

Flow CLIの制限

Flow CLIを使っても、スマートコントラクトが自動的に安全になるわけではありません。

有害なトランザクションへの署名や、誤ったアカウントへのコードのデプロイを防ぐことはできません。

専門的な監査、脅威モデリング、アクセス制御の設計、運用監視に代わるものではありません。

ローカルエミュレーターでは、公開ネットワークのすべての状況を完全に再現できません。

一般消費者向けに設計された完全なウォレットインターフェースでもありません。

Flowのすべてのトランザクションを網羅する完全な履歴分析データベースも提供しません。

開発者は引き続き、Cadence、Flowアカウント、トランザクションの役割、ケイパビリティ、リソースストレージ、依存関係、ネットワークセキュリティを理解する必要があります。

よくある質問

Flow CLIとは何の略ですか?

Flow CLIはFlow Command-Line Interfaceの略称で、Flowブロックチェーン向けの公式ターミナル型開発ツールです。

Flow CLIはDapper Labsが開発したものですか?

FlowはもともとDapper Labsが設計・開発しましたが、Flow CLIは現在、Onflow組織を通じてFlowエコシステムの公式オープンソースソフトウェアとして保守されています。

Flow CLIは暗号資産ウォレットですか?

いいえ。Flow CLIは開発者向けツールですが、設定した秘密鍵を使ってトランザクションに署名し、Flowアカウントを管理できます。

Flow CLIの最新バージョンは何ですか?

2026年7月14日時点の最新公式リリースはFlow CLI 2.17.4です。

Flow CLI 2.17.4に含まれるCadenceのバージョンは?

Flow CLI 2.17.4にはCadence 1.10.3が含まれます。

macOSにFlow CLIをインストールする方法は?

一般的な方法は、Homebrewを使って

brew install flow-cli
を実行することです。

Flow CLIのバージョンを確認する方法は?

ターミナルで

flow version
を実行してください。

新しいFlowプロジェクトを作成する方法は?

flow init
を実行し、適切なプロジェクトひな型を選択してください。

flow.jsonとは何ですか?

flow.json
は、ネットワーク、アカウント、コントラクト、依存関係、デプロイ先を定義する主要なプロジェクト設定ファイルです。

Flow Emulatorを起動する方法は?

ターミナルで

flow emulator
を実行してください。

Flow Emulatorでは本物のFLOWを使いますか?

いいえ。ローカルエミュレーターでは、メインネットでの価値を持たない開発用の状態と資産を使用します。

Flow CLIでメインネットにコントラクトをデプロイできますか?

はい。正しいネットワーク、アカウント、鍵、デプロイ設定を指定すれば、Flow CLIでFlow Mainnetにコントラクトをデプロイできます。

Flowプロジェクトのデプロイに使うコマンドは?

標準のプロジェクトデプロイコマンドは

flow project deploy
です。通常はネットワークを明示するオプションを組み合わせます。

Flow CLIでスマートコントラクトを更新できますか?

はい。CadenceとFlowネットワークのルールに従い、承認済みのコントラクト更新トランザクションを送信できます。

Cadenceテストを実行する方法は?

Flowプロジェクトの設定後、

flow test
を実行してください。

Flowのフォークテストとは何ですか?

フォークテストは、公開ブロックチェーンを変更せず、メインネットまたはテストネットの複製状態を使ってローカル環境を実行する方法です。

Flow CLIはアカウント作成に対応していますか?

はい。Flow CLIではFlowアカウントの作成と取得、およびアカウント鍵の管理ができます。

Flow CLIでブロックチェーンデータを読み取れますか?

はい。Flow Access Nodeで利用できるブロック、アカウント、トランザクション、イベント、コレクションなどのデータを取得できます。

Flowスクリプトとトランザクションの違いは何ですか?

スクリプトはブロックチェーンを変更せずに状態を読み取り、トランザクションは署名され、ブロックチェーンの状態を変更できます。

Flow CLIでコントラクト依存関係を管理できますか?

はい。依存関係管理機能を使って、プロジェクトで使用する外部Cadenceコントラクトをインストール、一覧表示、追跡できます。

Flow CLIはテレメトリーを収集しますか?

Flow CLIは現在、デフォルトでコマンド回数の集計データを収集します。

flow settings metrics disable
で無効にできます。

秘密鍵をflow.jsonに保存すべきですか?

本番の秘密鍵を、共有または公開される

flow.json
ファイルに暗号化せず保存してはいけません。

Flow CLIは自動デプロイに利用できますか?

はい。ただし、本番デプロイではバージョンの固定、秘密情報の保護、レビュー体制、ネットワークの明示的な確認が必要です。

Flow CLIはFlow Testnetで動作しますか?

はい。テストネットは、Flow CLIのネットワーク設定でサポートされる標準環境の一つです。

Flow CLIはSolidity開発に使われますか?

Flow CLIは主にCadenceとFlow Access APIのワークフローをサポートします。Flow EVM上のSolidityアプリケーションでは通常、EVM互換のJSON-RPCツールを使います。

Flow CLIはオープンソースですか?

はい。Flow CLIのソースコードはApache 2.0ライセンスで公開されています。

Flow CLIの使用で暗号資産を失うことはありますか?

あります。鍵、ネットワーク、アドレス、コントラクトコード、トランザクション引数の誤りによって、メインネット上で取り消せない損失が生じる可能性があります。

まとめ

Flow CLIは、Flowブロックチェーン上のアプリケーションを構築し、操作するための公式コマンドライン開発ツールです。

Dapper Labsとの関係は、同社がFlowを当初設計・開発したことに由来します。一方、現在のCLIはFlowエコシステムのオープンソースソフトウェアとして運用されています。

このツールには、プロジェクトの初期化、エミュレーターへのアクセス、Cadenceテスト、アカウント管理、鍵の操作、コントラクトのデプロイ、依存関係管理、トランザクション送信、ブロックチェーン照会の機能が含まれています。

flow.json
の設定システムを使うと、エミュレーター、テストネット、メインネット、ローカルフォークにまたがる環境を一貫して管理できます。

Flow CLIはブロックチェーン開発の再現性を高めますが、安全でない鍵、欠陥のあるコントラクト、誤ったデプロイ先、悪意ある依存関係、取り消せないトランザクションのリスクをなくすものではありません。

開発者は公式リリースを利用し、署名認証情報を保護し、複数の環境でテストし、トランザクション結果を確認し、Flow Mainnetへのデプロイ前に厳格なレビュー体制を適用してください。
押し目か、チャンスか?
押し目か、チャンスか?押し目か、チャンスか?
強制決済が相次ぐ中、BTC ETFへの流入額が$24億に達した理由とは