アラサーが「Solidity」を勉強してみた【DApps開発】 #1

Web3
かとてん
かとてん

どうも!かとてんです!!

 
10年ほどプログラミングとは縁のない人生を送っていましたが、Web3の誘惑に負けて舞い戻ってきました!!
ここ2か月ほど毎日SolidityやDApps開発の勉強を続けたのでその成果を報告していきます!
(飽き性なのでどうなるか分かりませんがシリーズになるといいな!)
 
 

やったこと

ということで、私がこの2か月間やっていたことをまとめました。
 
 

⓪Web3周りの基礎知識をつける

私の場合、ここら辺の内容は暗号資産投資のために勉強しました。
主に以下のような内容ですね。
・ビットコインとは?
・ブロックチェーンとは?
・スマートコントラクトとは?
 
 

①ENTERCHAINでブロックチェーンの仕組みを詳しく学ぶ

ENTERCHAINブロックチェーンの仕組みを詳しく学べるサービスです。
後半にはJavaScriptを使った開発パートがあるので、ある程度JavaScriptができる方であればめちゃくちゃ分かりやすいかと思います。
 
私はJavaScriptができる友人にヘルプをお願いしました。
 
 

②CryptoZombiesでSolidityを学ぶ

CryptoZombies体系的にSolidityを学ぶことができるサービスです。
Solidityのバージョンが少し古いですが、基本的な書き方を学ぶことができます。
 
ユーモアのあるサービスということもあり個人的にめっちゃ好きです。
超おすすめ!
 
 

③ビットコイン/イーサリアムについて学ぶ

仕組みを完全に理解したい欲が出てきたので、ここらへんで主に以下の記事を読みました。
結果、2割くらいしか理解できなかったので、またタイミングを見て読み直そうかと思います。
※とにかく難しいのである程度知識がついた状態で見た方が良いかもしれません・・・
 
英語版のものは翻訳機能にお世話になりました。
Web3周りは英語必須ですね・・・!
 
 
 

④DApps開発のチュートリアルをこなす

プログラミングはとにかく作って覚えるのが一番!ということで、早速チュートリアルをやってみました。
ローカル環境の構築などもこの辺りでやりました。
 
主にブロックアカデミーさんのYoutubeにお世話になりました。
一部CryptoZombiesと被る内容がありますが、良い復習になります。
 
 

⑤DApps制作をはじめる←イマココ!

いまだに何が分からないか分からない状態ですが、とりあえず自分が作りたい「DAO」を作ろうと動き出しました
ということで、今は既存DAOのコード分析をしています
 
DAppsはオープンソース化され、GitHubにソースコートがアップされていることが多いです。
Githubは宝の山ですね。
 
「Github 参考にしたいDApps名」で検索するとすぐにヒットします。
※コード量はめちゃくちゃ多いです。
 
 
 

ここまで勉強して感じたこと

まず、SolidityやDApps開発はもとより、暗号資産やWeb3などについて学ぶなら「英語」が必須ということを実感しました。
参考となる記事やSolidityのドキュメントなどが英語であるため、理解できないところがあって苦戦を強いられることが多いです。
今まで英語を勉強してこなかったことを悔やんでおります。
 
また、DApps開発にはSolidityだけでなくほかの言語も必要ということが分かりました。
開発したいサービスにもよりますが、具体的にはJavaScriptやHTML/CSS、Pythonなどです。
私はサービスの開発をしたことがないので知りませんでしたが、何かを開発したことがあるのであればここら辺は問題にはならないでしょう。
 
 
 

DApps開発の参考にしているサイトや役立つサービス一覧

参考までに、これまでDApps開発の勉強を進める中で参考しているサイトや役立ったサービスなどを以下に記載します。
※他にもOpenZeppelinやEthernautなど、利用/勉強したいものはありますがまだレベルが追い付いていません。
 

Etherscan

Etherscanはイーサリアムネットワークのトランザクションなどを確認できるサービスです。
開発者でなくても、イーサリアムのネットワーク状況確認やNFT取引などでなにかと利用します。
 

Remix

Remixはブラウザで利用できるSolidityのIDEです。
ローカルの開発環境を整えなくても利用することができます。
 

Solidity by Example

Solidity by ExampleはSolidityのサンプルコードを置いてくれているサイトです。
載っていないものもありますが、コピペして動かすだけで理解が深まります。
 

Solidity Docs

その名のとおりSolidityのドキュメントです。
困ったらドキュメントを見ましょう。
 

Progate

Progateは様々な言語を体系的に学ぶことができるサービスです。
私は基礎の基礎すら知らんぞ!ってときに利用しました。
 
 
 

さいごに

現在、絶賛苦戦しております笑
DApps開発の日本語記事が少ないので、私が学んだことは随時このブログで公開していければと考えております。
 
作りたいDAOを作るのが先か、私の心が折れるのが先か分かりませんが・・・
引き続き継続していきたいと思います。
 
 
 
タイトルとURLをコピーしました