Open1

smart contract作成メモ

YuheiNakasakaYuheiNakasaka

実際にスマートコントラクトのHello Worldをやってみる。

smart contract作成メモ

リソース

やること

  • ユーザーとblockchain間で読み書きを行うSmart Contractを作成する

使うもの

  • react
  • metamask
    • wallet
  • ether.js
    • Ethereum用のクライアントライブラリ
  • hardhat
    • Ethereumの開発環境
  • ABI

流れ

ローカルネット

  • HardhatでローカルBlockchain Nodeを立ち上げる
  • ローカルテスト用のAccount&private keyが20個ほど作成される
  • hardhatでSolidityで書いたスマートコントラクトをコンパイルする
    • ABIが生成される
  • スマートコントラクトをデプロイスクリプトに追加する
  • スマートコントラクトをHardhatにデプロイする
  • Walletにローカルテスト用のAccountをimportする
  • React AppとそのAccountをWallet経由で接続し、ether.jsでHardhat側のスマートコントラクトとインタラクションを行う

テストネット

  • テストネットを選択する: Ropstenとか
  • ガス代を払うためにTest Etherを取得する
    • RopstenはどのTest Ether供給サイトもスパムにやられてるのか機能してないっぽい
      • 1日経過したら追加された!
  • Infura or Alchemy(テストネットへ接続するためのSaaSみたいなやつ)に登録。プロジェクトを作成してproxy linkを生成。自分のwalletアドレスの接続だけを受け付けるようにwhitelistに設定もしておく。
  • 取得したproxy linkとAccountの秘密鍵(walletからのエクスポート版)をhardhat.config.jsに設定する
  • hardhatコマンドのdeployコマンドでtestnetを指定してデプロイする