HARUKIの日記

主にIT技術関連の記事を投稿していきたいと考えています。

スマートコントラクトを使ったWeb3.0アプリケーションを作ってみた

<h1>
solidityを使ったWeb3.0アプリケーションをコーデイングしてみた
</h1>

ネット上でも、solidityを使ったweb3.0アプリケーションを使って開発した本や記事がまだまだ少ないので記事を投稿してみました。

下記書籍を参考に、Web3.0アプリケーションを作ってみました。
https://www.amazon.co.jp/Solidity%E3%81%A8Ethereum%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%B7%B5%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88%E9%96%8B%E7%99%BA-%E2%80%95Truffle-Suite%E3%82%92%E7%94%A8%E3%81%84%E3%81%9F%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%BE%E3%81%A7-Kevin-Solorio/dp/4873119340

ソースコードは、GitHub上で公開しています。
https://github.com/mashharuki/fundraiser-dapp

いきなり、メインネットやテストネットで試すのはハードルが高いため、Ganacheを使って、プライベートネット上にスマートコントラクトを
デプロイしてWeb3.0アプリケーションを体感してみました。

なお、このリポジトリを動かすには、事前に下記が必要となります。

1. node.jsをインストールしておくこと
2. ganacheをインストールして事前に起動しておくこと
3. ganacheを使ってプライベートネット上にスマートコントラクトをデプロイすること
4. MetaMaskをインストールしておくこと
5. プライベートネットの秘密鍵をMetaMaskにインポートしておくこと

以上となります。

まず、コーディングして感じたのが、フレームワーク「truffle」と「React」の凄さ!!
Reactはフロントエンド側開発用のJavaScriptフレームワークとなりますが、JSXを使って、要素をコンポーネントとして扱うところが面白い!
ぜひ、習得して実際の業務でも使用してみたいと思いました!!

そして、何より、コマンド「truffle unbox react」でテンプレートファイルが作成されて土台部分がすぐに出来上がるのが便利すぎる!!
最初は、何書いてあるかチンプンカンプンだったが、段々と勉強していくうちに分かったので、特に問題なし!

MetaMaskと組み合わせて、実際に動かしてみるとブロックチェーンがデータベースの一種であるという説明にも納得がいく。
今までは、本の中に書いてあるだけでなんとなくでしか理解していなかったが、やはり自分でコーディングしてみると理解度にも天と地の差がある。

これで、Web3.0アプリケーションの土台部分ができたわけで、色々と試していきたいと考えている。

EIP712のデモサンプルやマルチシグコントラクトと合わせて、マルチシグウォレットアプリなんかを作ってみると面白いかも。。。
ブロックチェーンエンジニアになりたいと思ってきた!!

今は、コロナ禍で色々と制約があって大変だけど、アフターコロナに備えて自分の技術力をさらに高めていきたいと考えている。

 

【2021年5月15日追記】

上記に挙げているソースコードについてうまく動かない部分があったため、修正いたしました。

実際に動かしてみることで、ブロックチェーンとは何か?スマートコントラクトとは何か?を体系的に学び感じることができるはずです!!(筆者も実際に動かしてみて感動しました。)

次世代の標準となるであろうWeb3.0アプリケーションのフレームワークにして行こうと思います!!