Solidityとはざっくりいうと、スマートコントラクトを定義するためのプログラミング言語です。
言語の説明は別途記事つくります。
今回はSolidityでスマートコントラクトを実装するにあたって環境構築が必要になるわけですが
最新版がなかった&Solidity自体が日本語の情報が少ないので、開発環境を整えるための手順を置いておきます。
1:必要なツールをインストール
node.jsをインストール
npmコマンドを使えるようにするためにインストール。
https://nodejs.org/ja/
Visual Studio Codeをインストール(なんでもいいです)
エディタです。
https://azure.microsoft.com/ja-jp/products/visual-studio-code/
Ganacheをインストール
ローカル開発時にブロックチェーンを可視化できるのでめっちゃ便利。
コントラクトアドレス取得したり、ブロックどのくらいできてんだろ?みたいなのをさくっと知ることができる。
https://trufflesuite.com/ganache/index.html
Truffleをインストール
コンソールを立ち上げてTruffleをインストール
npm install -g truffle
2:開発環境の構築
プロジェクトフォルダを作成
コンソールを立ち上げてフォルダを作ってください。右クリック>新規作成>フォルダと同じ。
その後、作成したフォルダへ移動。
mkdir xxxx
cd xxxx
jsをローカルで動かせる環境を整える
つまりnode.js環境をつくるということ。package.jsonが出来上がる。
npm init -y
スマートコントラクトを開発するための環境を整える
truffle init
こんなフォルダたちが出来上がる
contracts/:コントラクトを入れるディレクトリ
migrations/:デプロイする際に必要なファイル
test/:デプロイしたコントラクトをテストするためのテストプログラムを入れておくフォルダ
truffle.js:構成ファイル
その他、必要なライブラリをインストールしておくと便利
web3ライブラリをインストール
npm i web3
chaiのテスト用拡張モジュールをインストール
npm i chai chai-bn truffle-assertions
bn.jsをインストール(BigNumber型を使えるようにするやつだったはず)
npm i bn.js
OpenZeppelinいれておくと便利(0から開発しなくていい)
npm i @openzeppelin/contracts
3:環境を整えた後
プロジェクトフォルダでエディタを立ち上げる
code .
truffle-config.jsを編集
compilers: { solc: { version: "0.8.x", // 実際に使用するsolidityのバージョンに変更する } },
Ganache立ち上げ
右下にある「NEW WORKSPACE」をクリックすると以下の画面がでるので、手順通り設定
設定が終わった後に以下の画面が出るので赤枠の数字をメモしておく
truffle-config.jsの編集
development: {~~}のコメントを外して、上記画像の数値に変える
development: { host: "127.0.0.1", // Localhost (default: none) port: 7545, // Standard Ethereum port (default: none) network_id: "*", // Any network (default: none) },
以上で一通り環境構築を終えることができました。
次は実際にSolidityをつかってコントラクトを定義したり、デプロイしたり、テストしたりしたいと思います。