どうも、Mejikaです!
今日もコツコツ行きましょう!
今回は、Solidityを使って
スマートコントラクトを発行するために必要な
開発環境を整えていきましょう
例えば、イーサリウム上に、
コーラを販売する自動販売機
というサービスを作るとします。
この時、おおまかなプロセスは以下となります。
①コントラクト作成
Solidityを使ってコードを作成します。
私の場合はWindowsでAtomを使ってます。
・Atom
をインストールしました。
コードを書くときは、基本こちらで書いてますね。
②~④の一連の作業には、私はGitのコマンドプロントをよく使います。
・Git
②コンパイル
Solidityで書いた言語を、
コンピューターの言葉に変換します。
^^^^^^^^
ちなみに、こういうIT系の用語は
調べるだけでも骨が折れますよね
そんな時、私がよく利用するのはピヨ太さんのサイトです。
ヒヨコのキャラが可愛い!NFTにしてほしいw
^^^^^^^^
③テスト
コントラクト発行の前のテストです。
まずは、Remix。
こちらでは、コントラクトのコードを作成したら、
コンパイル、デプロイ、トランザクション、動作確認
などができる便利なサイトです。
テストでは、実際のブロックチェーン上にはデプロイしません。
つまり、仮のイーサリウム、仮のノード、を自分のPC上に作ります。
そのためのツールの1つが、Truffle suit 。
(美味しそうな名前w)
テスト用のノードやネットワークを作るGanache
コンパイルやデプロイするTruffle
デプロイしたコントラクトを実行するリクエストを出すdrizzle
Truffle suit以外では、hardhatというのもあります。
(私、まだ使ったことないです!)
Node.jsは、コントラクト作成する上でよく使います。
Node.js上のツールで便利なのが、
自動でテストを実行してくれるツールです。
npm(Node Package Manager)
npmの中には、いろいろなツールがあります。
solc – solidity compiler(コンパイラ) など
④デプロイ
テストが通ったら、いよいよコントラクトの発行です!
まずは、開発者のウォレットが必要になります。
トランザクションに必要なガス代などが
そのウォレットから支払われるからですね。
ブロックチェーン上でウォレットを作るには、
TruffleのHD-wallet-providerが代表的ですね。
mnemonic(ニーモニック)と呼ばれる1~24個の単語から
秘密鍵と呼ばれる数字に変換します。
(そうすると、コンピューターも認識できるようになりますね)
メタマスクも、HDwalletproviderでウォレットを作成しています。
それを、見やすく使いやすいUIで簡単にしたものですね。
いよいよデプロイのためのトランザクションを
イーサリウムのノードに送ります。
その時には、2つやり方があります。
1)自分で直接ノードに送る
→ gethが有名なツールです。
2)代わりにノードに送ってもらう
(先ほどの絵で、ノードの前に仲介者が入るイメージです)
→ infuraが有名です。
を使います。
ちなみに、Metamaskでトランザクションを送る場合、
infuraが使われています。
さて、そろそろ情報が多すぎておなか一杯かもしれませんがwww😌
まずは、テストネットにデプロイしてみましょう。
イーサリウムのテストネットの1つRinkeby用のイーサを入手します
こちらのブログを参考にどうぞ。
(その他、参考情報)
ABI(Application Binary Interface)とは?
→ ブロックチェーン上のサービス(アプリケーション)を利用する際、
コンピューター言語とやり取りするための翻訳機のようなもの
ちなみに、API(Application Programming Interface)とは?
→ 異なるサービス(アプリケーション)同士が、
それぞれ利用しあう場合にやり取りするための共通ルールのようなもの
※こちらはピヨ太さんサイト
ここまで読んでくださったあなた、本当にありがとうございます!
それではまた、お会いしましょう!
ウホウホ
🦍
コメント