2019年8月時点において、EthereumのDappsの開発をやってみようとしたのですが、 その時に調べた内容や、参考にしたサイトや用語、コードなどをまとめておきます。
情報収集
Ethereum入門
- Ethereumの概要、仕組みをざっくり把握できます。 book.ethereum-jp.net
CryptoZombies
- Ethereumのコントラクトの開発言語であるSolidityのチュートリアル。 cryptozombies.io
Ethereum Pet shop (Truffleチュートリアル)
- 自分のローカル環境でチェーンの構築やデプロイ、Web3JSを使用した実行まで学べます。 www.trufflesuite.com
Ethereum Pet shop 日本語訳
- 上記の日本語訳です。 qiita.com
用語整理
以下が分かりやすくまとめられています。 qiita.com
上記の内容と重複しますがここでも少し記載します。
solidity
Ethereum の高水準開発言語。JavaScriptライクな記法となっています。
Truffle
スマートコントラクトの開発、テスト、デプロイ用フレームワークです。 このフレームワーク上でSolidityで書かれたコントラクトをコンパイル、デプロイできます。
環境構築
truffle インストール
$ npm install -g truffle $ truffle version Truffle v5.0.34 (core: 5.0.34) Solidity v0.5.8 (solc-js) Node v11.14.0 Web3.js v1.2.1
ganache
ローカルでEthereumチェーンの開発環境を立てたり、ローカルチェーン状での コントラクトの状況を確認できるツール。インストーラからインストールします。 www.trufflesuite.com
Metamask
イーサリアムのウォレット。chromeやFirefoxのPluginとしてインストールするタイプ。 ここに開発用のアカウントをインポートして使用します。 addons.mozilla.org
参考コード
Tuffle + Web3jsをしてフロントはNuxt.jsを使用しているコード
GitHub - Matsushin/dapps-nuxt-vote
Truffle で ERC721トークンの発行しているコード
ただしこれらは2019/08現時点でライブラリ側に多くのBreaking chageがあるので、そのままでは動かず..
Nuxt.js + テスト用のコントラクトを実行するデモアプリケーション
フロントをNuxt.jsで実装したサンプルコントラクトアプリケーション。 文字列を書き込んで読み出すサンプルです。
GitHub - rsooo/nuxt-truffle-sample-app: Sample Application using Nuxt.js and Truffle