ユーザ用ツール

サイト用ツール


blockchain:hardhatを使ったスマートコントラクト開発

文書の過去の版を表示しています。


Hardhatを使ったスマートコントラクト開発

ほぼ Hardhat オフィシャルのドキュメント通りに Hardhat を使ってみます。

前提

npm をインストールしておいてください。

インストール

:!: 下記「npx hardhat」コマンドを実行すると「What do you want to do?」と聞かれますので、今回は「Create a basic sample project」で作業を進めます。それ以外はデフォルトのままエンターを入力してください。



上記の最後で指定された通り、必要な npm パッケージをインストールします。



生成されたファイルを確認してみます。


  • contracts: スマートコントラクトのソースコードを格納するディレクトリ
    • サンプルの「Greeter.sol」が既に格納されています。
  • scripts: スマートコントラクトを ethereum ブロックチェーンにデプロイするためのスクリプトを格納するディレクトリ(他の目的のスクリプトが格納されることもあるかもしれません。)
    • サンプルの「Greeter」スマートコントラクトをデプロイする sample-script.js が既に格納されています。
  • test: テストプログラムを格納するディレクトリ
    • サンプルの「Greeter」スマートコントラクトをテストする sample-test.js が既に格納されています。
  • hardhat.config.js: Hardhat の設定ファイル

Hardhat のバージョンとコマンドの仕様を確認してみます。



コンパイル

Hardhat セットアップ時に自動的に作成されている contracts/Greeter.sol をコンパイルします。



テスト

Hardhat セットアップ時に自動的に作成されている test/sample-test.js を使って Greeter スマートコントラクトのテストを行います。



デプロイ

Hardhat セットアップ時に自動的に作成されている scripts/sample-script.js を使って Greeter スマートコントラクトを ethereum ブロックチェーンにデプロイします。

hardhat_project> npx hardhat run scripts/sample-script.js
Deploying a Greeter with greeting: Hello, Hardhat!
Greeter deployed to: 0x5FbDB2315678afecb367f032d93F642f64180aa3

コンソールでスマートコントラクトの実行

hardhat_project> npx hardhat console
Welcome to Node.js v16.13.1.
Type ".help" for more information.
> const { ethers } = require("hardhat");
undefined
> const Greeter = await ethers.getContractFactory("Greeter");
undefined
> const greeter = await Greeter.deploy("Hello, world!");
Deploying a Greeter with greeting: Hello, world!
undefined
> const deployedResponse = await greeter.deployed();
> await greeter.greet();
'Hello, world!'
blockchain/hardhatを使ったスマートコントラクト開発.1652250381.txt.gz · 最終更新: by dot