ホームページ >テクノロジー周辺機器 >IT業界 >トリュフ:スマートコントラクトのテスト

トリュフ:スマートコントラクトのテスト

Christopher Nolan
Christopher Nolanオリジナル
2025-02-16 09:14:13947ブラウズ

Truffle: Testing Smart Contracts

トリュフ:スマートコントラクト開発の効率的な自動化のための強力なツール。

スマートコントラクトテストは、高品質のスマートコントラクト開発の中心的なリンクです。 なぜ私たちはテストにそんなに注意を払う必要があるのですか?スマートコントラクトは価値、時には大きな価値を扱うため、これにより攻撃者が標的にします。 あなたのプロジェクトが最終的にブロックチェーン墓地で「幽霊」になるのを見たくありませんよね?

キーポイント:

  • トリュフは、スマートコントラクトの自動コンパイル、テスト、展開のための必須のツールであり、効率的なブロックチェーン開発を確保しています。
  • スマートコントラクトは高価値トランザクションを処理し、簡単にターゲットにされるため、トリュフでスマートコントラクトをテストすることが重要です。
  • Ganache-Cli(以前はTestRPCとして知られている)を使用してローカル開発テストネットワークを構築するのは簡単です。
  • トリュフは、SolidityとJavaScriptを使用したスマートコントラクトテストの作成をサポートし、開発者のプログラミングの好みとテストの複雑さに基づいて柔軟性を提供します。
  • トリュフには、開発者がコードをステップスルーし、変数をチェックして問題を効率的に解決できるようにするデバッガーが組み込まれています。

初心者:

Hashmarket と呼ばれるシンプルなスマートコントラクトベースの中古品市場を作成します。

端末に、プロジェクトを構築するフォルダーを見つけます。このフォルダーで、次のコマンドを実行します:

<code class="language-bash">mkdir HashMarket
cd HashMarket
truffle init</code>

次のような出力が表示されるはずです

<code>Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test</code>
以下に示すようにファイル構造も取得します:

<code>.
├── contracts
│   └── Migrations.sol
├── migrations
│   └── 1_initial_migration.js
├── test
├── truffle-config.js
└── truffle.js</code>
これらのドキュメントについては、前の記事を参照してください。要するに、基本的な

ファイルと、最初のブロックチェーン移行の2つのファイルがあります。 truffle.js

テスト環境の準備

テストする最も簡単な方法は、ローカルネットワークでそれを行うことです。契約テストには、Ganache-Cli(以前はtestRPCとして知られていた)ツールを使用することを強くお勧めします。

ganache-cliのインストール(ノードパッケージマネージャーが必要):

<code class="language-bash">npm install -g ganache-cli</code>
の後、別の端子ウィンドウまたはタブを開いて実行します:

<code class="language-bash">ganache-cli</code>
次のような出力が表示されるはずです

これは、Ganache-Cliが作成するすべてのアカウントのリストです。任意のアカウントを使用することはできますが、これらはエーテルをプリロードするため、非常に便利になります(テストではガソリン料金を支払う必要があるため)。
<code>Ganache CLI v6.1.0 (ganache-core: 2.1.0)

... (账户和私钥信息) ...

Listening on localhost:8545</code>

の後、

または

ファイルに移動して、構成に開発ネットワークを追加します。 truffle.js truffle-config.jsスマートコントラクトを書く

<code class="language-javascript">module.exports = {
    networks: {
      development: {
        host: "127.0.0.1",
        port: 8545,
        network_id: "*"
      }
    }
};</code>
最初に、ハッシュマーケットのスマートコントラクトを書きます。必要な機能を保持しながら、シンプルに保つようにします。

ハッシュマーケットはブロックチェーン上のeBayです。これにより、売り手は製品や買い手を出版してエーテルを使用して製品を購入できます。また、売り手が販売されていないときに製品を削除することもできます。

プロジェクト内のcontractsフォルダーで、新しいファイルを作成してHashMarket.solに名前を付けます。このファイルでは、次のコードを追加します。(複製を避けるために、元のテキストと同じ契約コードはここで省略されています)移行ファイルの書き込み

トリュフがブロックチェーンに契約を展開する方法を知らせる移行ファイルを作成する必要があります。

フォルダーに移動して、migrationsという名前の新しいファイルを作成します。このファイルでは、次のコードを追加します。(複製を避けるために、元のテキストと同じ移行ファイルコードがここで省略されています)2_deploy_contracts.js

スマートコントラクトをテスト

SolidityまたはJavaScriptを使用して、スマートコントラクトテストを実行できます。スマートコントラクトをテストするとき、堅牢性はもう少し直感的になる可能性がありますが、JavaScriptはより多くの可能性を提供します。

Solitidity Test

テストを開始するには、プロジェクトの

フォルダーで、testという名前のファイルを作成します。 (複製を避けるために、元のテキストと同じソリッドテストコードはここで省略されています)TestHashMarket.sol

javaScriptテスト

トリュフを使用すると、Mochaテストフレームワークを活用して、テストにJavaScriptを使用できます。 (重複を避けるために、元のテキストと同じJavaScriptテストコードはここで省略されています)

トリュフを使用してスマートコントラクトをテストすることについての

FAQ(FAQS):(複製を避けるために元のテキストと同じFAQセクションは省略されています)

以上がトリュフ:スマートコントラクトのテストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。