DApp開発入門:Pythonライクな"Vyper"と"Brownie"でブロックチェーンアプリを開発しよう
PythonライクなWeb3系ツールを活用し、トークンを送付するDAppを開発 & 公開します。スマートコントラクト作成、イーサリアムテストネットへのデプロイ、MetaMaskを介したスマートコントラクトへの接続を、1つ1つ実践します。
Description
このコースは、PythonライクなWeb3系ツールを活用して、ブロックチェーンアプリ・分散型アプリ(DApp)を開発するコースです。
「ブロックチェーンアプリ開発は面白そうだけど、最初のステップは難しそう…」「Pythonの知識を活かして、DApp開発を学びたい!」と思っている方に、ぜひご覧いただきたい内容です。
DApp開発に関する学習コンテンツでは、多くの場合、JavaScriptライクなSolidityという言語や、JavaScript系ツールであるHardhat, Truffle, Reactなどが活用されます。一方、このコースでは、PythonライクなWeb3系ツールである"Vyper"と"Brownie"を活用して開発を進めます。(ただし、フロントエンドの開発ではJavaScriptを使用しています。)
"JavaScriptに苦手意識がある"、"Pythonのほうが得意"という方が、ブロックチェーンアプリ・分散型アプリ(DApp)を開発する最初のステップにピッタリのコースです。
■コースの特徴
VyperとBrownieの導入により、Pythonの基礎知識を活かして、DApp開発をスムーズにスタートできます。
スマートコントラクトの作成、ブロックチェーンへのデプロイ、フロントエンドとの連携までの一連の流れを習得できます。
オープンなテストネットワークであるSepoliaへのデプロイし、VercelでWeb公開するため、実際に機能するDAppが1つ完成します。自分なりのカスタマイズを加え、ポートフォリオとしても活用してください。
■開発するDApp
架空のトークンを送付できるシンプルなアプリケーションを開発します。MetaMaskでアプリに接続し、取引履歴はイーサリアムテストネットワークであるSepoliaに記録されます。
※詳細はプロモーション動画、もしくは「コースの特徴」の「開発するDappsの完成形」をご覧ください。
■開発環境
言語:Vyper 0.3.7 / Python 3.9 / JavaScript
フレームワーク・ライブラリ:web3py 6.9.0 / eth-brownie 1.19.3 / Ethers.js 6.7.0 / Node.js 18 / Bootstrap 5.3 / Animate.css 4.1.1
ブロックチェーン関連ツール・ネットワーク:MetaMask / Alchemy / Sepolia Testnet Explorer / Sepolia / Ganache 7.9.1
ブラウザ:Chrome
エディター:VS Code
ホスティングサービス、バージョン管理:Vercel / Github / git
What You Will Learn!
- Vyperによる、スマートコントラクトの記述方法を習得する。
- Brownieを利用した、スマートコントラクト開発の流れを習得する。
- Ganache(Ethereumローカルネットワーク)へのデプロイ方法を習得する。
- Sepolia(Ethereumテストネットワーク)へのデプロイ方法を習得する。
- web3-pyライブラリを利用した、スマートコントラクトの関数の実行方法を習得する。
- Brownieに付属するpytestを利用した、スマートコントラクトのテストスクリプト作成方法を学ぶ。
- JavaScriptを用いた、MetaMask接続機能の実装方法を身につける。
- ethers-jsを用いた、フロントエンドとスマートコントラクトの接続方法を習得する。
- Vercelを使った、ソースコードのデプロイ方法を習得する。
- SolidityとVyper、HardhatとBrownieの違いと特長を理解する。
- DApp開発における、ブロックチェーンとフロントエンドのシステム構成を理解する。
Who Should Attend!
- Pythonの基礎知識があり、Web3領域へのステップアップを図りたいエンジニア
- Web開発の知識を活かして、DApp開発を習得したいエンジニア
- ブロックチェーンやスマートコントラクトに興味があり、実際にアプリを開発したい初心者
- ブロックチェーン分野でのキャリアを目指したいが、どこから勉強すべきかを知りたい方
- PythonライクなWeb3系ライブラリの活用方法を調べたい方