Solidityでスマコン発行する準備をしよう

どうも、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上のツールで便利なのが、

  Mocha

   自動でテストを実行してくれるツールです。

 

  npm(Node Package Manager)

   npmの中には、いろいろなツールがあります。

      solc  – solidity compiler(コンパイラ) など

  

④デプロイ

 テストが通ったら、いよいよコントラクトの発行です!

まずは、開発者のウォレットが必要になります。

 

トランザクションに必要なガス代などが

そのウォレットから支払われるからですね。

 

ブロックチェーン上でウォレットを作るには、

 TruffleのHD-wallet-providerが代表的ですね。

mnemonic(ニーモニック)と呼ばれる1~24個の単語から

秘密鍵と呼ばれる数字に変換します。

(そうすると、コンピューターも認識できるようになりますね)

 

メタマスクも、HDwalletproviderでウォレットを作成しています。

それを、見やすく使いやすいUIで簡単にしたものですね。

 

Metamask

いよいよデプロイのためのトランザクションを

イーサリウムのノードに送ります。

 

その時には、2つやり方があります。

 1)自分で直接ノードに送る

   → gethが有名なツールです。

 

 2)代わりにノードに送ってもらう

   (先ほどの絵で、ノードの前に仲介者が入るイメージです)

   → infuraが有名です。

を使います。

 

ちなみに、Metamaskでトランザクションを送る場合、

infuraが使われています。

 

 

さて、そろそろ情報が多すぎておなか一杯かもしれませんがwww😌

 

まずは、テストネットにデプロイしてみましょう。

 

イーサリウムのテストネットの1つRinkeby用のイーサを入手します

こちらのブログを参考にどうぞ。

 

 

(その他、参考情報)

ABI(Application Binary Interface)とは?

 → ブロックチェーン上のサービス(アプリケーション)を利用する際、

   コンピューター言語とやり取りするための翻訳機のようなもの

 

ちなみに、API(Application Programming Interface)とは?

 → 異なるサービス(アプリケーション)同士が、

   それぞれ利用しあう場合にやり取りするための共通ルールのようなもの

   ※こちらはピヨ太さんサイト

 

クリプト用語集(まだまだ成長中)

 

 

ここまで読んでくださったあなた、本当にありがとうございます!

 

それではまた、お会いしましょう!

ウホウホ

🦍

コメント

タイトルとURLをコピーしました