0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flow CLI のDependency Managerはは、プロジェクト外のスマートコントラクトを使用する際に開発プロセスを合理化するため、コアなコントラクトやその他エコシステムのコントラクトを使用する際に、コントラクトのコピー、貼り付け、更新といった手作業を排除していきます。

例えば、FlowToken スマートコントラクトを使用して新しいアプリケーションを構築したい場合、従来はネットワーク上でそのコントラクトを探し出し、それをローカルプロジェクトにコピーし、flow.json に追加する必要がありました。このプロセスは、NonFungibleToken スマートコントラクトのように、依存するインポート先(dependency)の数だけ繰り返す必要があります。Dependency Managerはは、いくつかの簡単なコマンドでこのプロセスを簡素化します。

install

installコマンドで、全ての依存関係、サブ依存関係を簡単にインストールできます。あなたは特定の依存関係をインストールしたり、flow.jsonにリストされている全依存関係をインストールしたりすることができます。

Installing Specific Dependencies

インストールしたいスマートコントラクトのアドレスと名称が分かっている場合(多くの場合、Contract Browserで検索できます)、次の構文を使用できます。

flow dependencies install testnet://7e60df042a9c0868.FlowToken

このコマンドにおいて、文字列 testnet://7e60df042a9c0868.FlowTokenflow.json内でsourceとして使用されます。また、その内訳は以下です。

  • Network: testnet
  • Address: 7e60df042a9c0868
  • Contract Name: FlowToken

これは、ネットワーク上のコントラクトのリモートソースを指しており、それが真の情報の源として使用されます。

Installing Core Contracts Using Simplified Syntax

コアなコントラクトにおいては、Flow Mainnetをデフォルトとする簡略化された構文を使用できます。

flow dependencies install FlowToken

このコマンドは、機能的には次のコマンドと同等です。

flow dependencies install mainnet://1654653399040a61.FlowToken

Installing Multiple Dependencies

複数の依存関係を一度にインストールすることもできます。例えば:

flow dependencies install testnet://7e60df042a9c0868.FlowToken NonFungibleToken

このコマンドは、FlowTokenコントラクト(テストネット)とNonFungibleTokenコントラクト(メインネット)の両方をインストールします。

Installing Dependencies from flow.json

依存関係を指定せずにinstallコマンドを実行しますと、flow.jsonファイルにリストされたすべての依存関係がインストールされ、それらが最新の状態であることが保証されます。

flow dependencies install

このコマンドは、flow.json内で指定されたすべての依存関係をチェックし、インストールし、ネットワーク上で変更があった場合は更新します。

Example flow.json Entry

インストール後、あなたのflow.jsonファイルは以下の表記を含むかもしれません。

{
    "dependencies": {
        "FlowToken": {
            "source": "testnet://7e60df042a9c0868.FlowToken",
            "aliases": {
                "emulator": "0ae53cb6e3f42a79"
            }
        }
    }
}

Other Things to Note

  • インストール後、importsという名前のローカルフォルダが作成されます。このフォルダは依存関係をローカルに保存しますので、.gitignoreに追加することをお勧めします。
  • ネットワーク上のコントラクトが変更された場合、Dependency Managerはimportsフォルダ内のローカル依存関係を更新するようにプロンプトを出します。dependencyオブジェクトに保存されているハッシュ値は、このチェックのために使用されるので、削除を避けてください。
  • 依存関係はあなたのローカルコントラクトと同じ様に機能します。flow.jsonファイル内のdeploymentsにそれらを追加し、flow project deploy実行でデプロイすることが出来ます。また、スクリプト内、トランザクション内、コントラクト内にインポートすることもできます(例えばimport "FlowToken"のように)。
  • コアコントラクトのエイリアスは、あなたのために自動ですべてのネットワークに追加されます。

discover

discoverコマンドは、あなたがプロジェクトのコアコントラクトを対話的に検索し、インストールするのに役立ちます。コアコントラクトは、Flow Foundationが管理する標準スマートコントラクトであり、Flowエコシステム全体で広く使用されています(コアコントラクトの詳細についてはこちらをご覧ください)。

discoverコマンドを使用するには、以下を実行します。

flow dependencies discover

インストール可能なコアコントラクトのリストが表示されます。

Select any core contracts you would like to install or skip to continue.
Use arrow keys to navigate, space to select, enter to confirm or skip, q to quit:

> [ ] FlowEpoch
  [ ] FlowIDTableStaking
  [ ] FlowClusterQC
  [ ] FlowDKG
  [ ] FlowServiceAccount
  [ ] NodeVersionBeacon
  [ ] RandomBeaconHistory
  [ ] FlowStorageFees
  [ ] FlowFees
  [ ] FungibleTokenSwitchboard
  [ ] EVM

インストールしたいコントラクトを選択した後、Enterキーを押して確定します。選択したコントラクトは、flow.jsonファイルに追加され、あなたのプロジェクト内でアクセスできるようになります。

Last updated on Nov 26, 2024 by Chase Fleming

翻訳元


Previous << Development Tools

Flow BlockchainのCadence version1.0ドキュメント (Dependency Manager)

Next >> Running Cadence Tests

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?