solidity
Telegram
CryptoZombies
LoomNetworkJP
DAppChains


本記事の内容について

本記事はLoom Network JPのTelegramグループLoom Network EnglishのTelegramグループ内で共有されたSolidity学習のためのヒントやロードマップをまとめています。

いつも指針や刺激をくださる方々に感謝します。このグループやSolidityに興味がある方はぜひLoom Network Telegramグループへ!cryptozombiesに関する質問や、Solidity学習やDAppを作る上での疑問はもちろん、「最近ゾンビが可愛く見えるようになった!」のようなゆるい会話も飛び交っています。

この記事は随時更新しています。


おすすめのSolidity学習ロードマップ


  1. Cryptozombies.io

  2. Truffle Tutorial ~ETHEREUM PET SHOP~


  3. Solidity公式ドキュメンテーションにあるオークションなどのコードを見てみるオークションの解説記事 (Solidity tutorial: building a simple auction contract” by Bryn Bellomy)も要チェック!


Loom Network News!


Solidityの全体像がつかめるサイトや書籍、アプリ開発に役立つもの


  1. cryptozombies.io

  2. How To Learn Solidity: The Ultimate Ethereum Coding Guide

  3. 「はじめてのブロックチェーンアプリケーション」

  4. 「ブロックチェーンアプリケーション開発の教科書」

  5. Truffle (Solidityのフレームワーク)のチュートリアル

  6. OpenZeppelinライブラリ

  7. DAppChains (Loom networkが2018年3月にDAppChainsをローンチ予定!)

  8. Solidity Docs

DAppアプリを作るのであれば、このほかにweb3.jsの知識も必要となってきます。


cryptozombies.io

cryptozombies.io は、Loom Networkが提供するゾンビを作りながらSolidityが学べるサイトです。まず最初のとっかかりとしてぜひ! 2018年4月5日現在Lesson1~6が公開されておりそれぞれ15個程度の課が準備されています。


How To Learn Solidity: The Ultimate Ethereum Coding Guide

https://blockgeeks.com/guides/solidity/

開発の手順を順序立ててわかりやすく解説。

ここで紹介されている動画でSolidityの書き方が学べます。How to Write an Ethereum Election Smart Contractでは、選挙を公平に行うためのプログラムを書いています。これを写経して、cryptozombiesで学んだことと照らし合わせながらプログラムをどうやって書くのか自分で考えてみるのもいいでしょう。


「はじめてのブロックチェーンアプリケーション」

アプリのコードサンプルが多い。ただ2017年出版でGethのコンパイラなどの情報が古くなっている部分もあるため、本の指示通りにやってもダメな場合はネット検索で解決する必要あり。


「ブロックチェーンアプリケーション開発の教科書」

環境構築やライブラリについて情報が充実


Truffleのチュートリアル

Truffleでは18個のチュートリアルが準備されています。

1. DEBUGGING A SMART CONTRACT

2. BUILDING ROBUST SMART CONTRACTS WITH OPENZEPPELIN

3. ETHEREUM PET SHOP ←cryptozombiesの後におすすめ

4. ETHEREUM OVERVIEW

5. BUILDING DAPPS FOR QUORUM: PRIVATE ENTERPRISE BLOCKCHAINS

6. BUILDING AND TESTING A FRONTEND APP WITH TRUFFLE

7. TESTING FOR THROWS IN TRUFFLE SOLIDITY TESTS

8. CREATING AN ETHEREUM-ENABLED COMMAND LINE TOOL WITH TRUFFLE 3.0

9. UPGRADING FROM TRUFFLE 2.0 TO TRUFFLE 3.0 - A GUIDE

10. ETHEREUM DEVOPS WITH TRUFFLE, TESTRPC & VISUAL STUDIO TEAM SERVICES

11. CONFIGURING VISUAL STUDIO CODE FOR ETHEREUM BLOCKCHAIN DEVELOPMENT

12. HOW TO INSTALL TRUFFLE & TESTRPC ON WINDOWS FOR BLOCKCHAIN DEVELOPMENT

13. CHAIN FORKING AND DYNAMIC ANALYSIS: EXPLOITING THE DAO

14. DEPLOYING TO THE LIVE NETWORK

15. BUNDLING WITH WEBPACK

16. USING INFURA (OR A CUSTOM PROVIDER)

17. IN BETA: PACKAGE MANAGEMENT

18. IN BETA: SOLIDITY UNIT TESTS


OpenZeppelinライブラリ

https://openzeppelin.org/api/docs/open-zeppelin.html

ベーシックなコントラクトをよく知る


DAppChains

Loom networkが2018年3月にDAppChainsをローンチ予定! 大規模なゲームやソーシャルアプリを作れるようになります。

Loom Networkが開発するDAppChainsはアプリケーション特化型のサイドチェーンです。メインチェーン(イーサリアム)と平行して動作します。

メインチェーン (イーサリアム) 上でのアプリ開発は、色々と制約が出てきてしまうのが現状です (高いガスコストや低スピードなど)。それらを解決した結果、これまでイーサリアムのブロックチェーンでは向かないとされていた膨大なデータを保管するようなアプリ構築(MMORPGやソーシャルメディアなど) が可能となり、アプリの目的によって仕様も適切に変えられるようになります!


Solidity Docs

Solidity Docs には文字通りSolidityのドキュメントが集約されています。


身につけるべき知識は?


  1. コンパイル、デプロイの手順

  2. Truffleの使い方

  3. ベーシックなコントラクト

  4. web3.js


Solidityで比較的初歩の段階でも作れるもの候補


  1. 最初の最初の段階はOpenZeppelin を使って中身のコードを追いながらトークンをつくって testnet にデプロイ (そこで一連の流れを掴んでからアプリを作るとよい)

  2. 金融系のコントラクト (クラウドセールやギャンブルゲーム)

  3. Solidity公式ドキュメンテーションにオークション用などのサンプルを使って何か作る

Ethereumブロックチェーンの性質上、ただのテキストであっても、膨大なデータを保管するようなものは不向き。


Cryptozombiesのソースコード

https://github.com/loomnetwork/cryptozombie-lessons


Solidityのエディタ


  1. Remix(browser-solidity)

  2. Loom networkのエディタEthFiddle

@LoomNetworkJPEthFiddleでsolidityコードを共有しよう を要チェック! EthFiddleはコード共有可能です。JSFiddleのような感じ。コードの共有はもちろん、ローカルテストネットでコンパイル・デプロイ・テストもOK!


DAppアプリと法律

2018年2月現在、DAppアプリサービスがETHで完結するのであれば、特に業者の認可は必要ないはずですが、サービス内で独自トークンをETHで買う、というような仕組みだと念のため金融庁に確認すべきです。

クリプトキティのような通貨的な要素のないゲームのキャラトークンであれば業者認可は不要です。

仮想通貨関連の法律の整備はまだ途上です。あなたが開発しているものが金融庁が定義する仮想通貨に当てはまる可能性があるときは金融庁へ個別に確認してください。

ICOと国内法規制(その1)ICOトークンの「仮想通貨」該当性について


Solidityを学ぶモチベーションになるもの

ブロックチェーン・アプリ開発をなぜ学ぶべきか?


Solidityを学ぶならCryptoZombies がまずおすすめ&Loom network JP TelegramグループへGo!

Solidityを学ぶならcryptozombies.ioがおすすめです。またLoom Network JPのTelegramグループLoom Network EnglishのTelegramグループには、Loom networkの中の人や、CryptoZombiesでSolidityを学んでいる人たちがいるので、Solidityの情報やDAppsの情報が飛び交っています。


関連トピック

勉強になります! ありがとうございますm(_)m