DApp
DAppは、Decentralized applicationの略で分散コンピュータシステム上で動くアプリケーションのことです。
日本語では、分散型アプリケーションと呼ばれることもあります。
などの技術をベースにDAppsは開発されています。
ブロックチェーンというと、
- ビットコイン(BTC)
- リップル(XRP)
などの仮想通貨が連想されると思います。
しかしこれらの技術は、応用範囲が広く、
- ゲームアプリケーション
- 金融アプリケーション
などにも使用されています。
ブロックチェーンやスマートコントラクトを活用して、非中央集権的な構造を実現するDAppsは、ユーザー間の取引コストの削減、セキュリティ確保などの面から開発が進められています。
DAppsゲームはいくつか出てきており、金融分野に関しては、DeFi(Decentralized finance)として知られるようになってきました。
今日は、そんなDApps開発について、
- プラットフォーム
- プログラミング言語
を見ていきます。
DAppsの開発プラットフォーム
DApps開発プラットフォームは色々とあるのですが、ここでは
- Ethereum
- EOSIO
- TRON
- IOST
を紹介します。
Ethereum
Ethereumは、最も広く知られたDApps開発プラットフォームの一つです。
Ethereumは、仮想通貨Ether (ETH)で知られています。
DApps開発という面でみると、Ethereumのプラットフォームはリソースが充実しています。
開発者向けのWebページが用意されており、
- DApps開発チュートリアル
- サンプルコード
- 各種ドキュメント
などを参考にすることができます。
DApps開発に興味を持った時には、まずEthereumを確認すると良いと思います。
EOSIO
EOSIOは、block.one社によって運営され、のちにオープンソースとなったプロジェクト(プラットフォーム)です。
EOSという仮想通貨があります。
開発者向けに、
- 始め方
- チュートリアル
- FAQ
- 用語集
などが用意されています。
なども参考にできます。
TRON
TRONは、TRON(TRX)という仮想通貨を取り扱っています。
DApps開発のプラットフォームもあり、開発者向けの資料が用意されています。
また、DeFi関連の専用ページがあります。
IOST
IOSTは、DApps開発のためのプラットフォームです。
IOSTという名前の仮想通貨も流通しています。
IOSTのドキュメントを確認することができます。
IOSTでは、PoSを採用しており、ステーキングという仕組みを利用できます。
ステーキングとは、利用者が通貨を預け入れると、決まった割合で通貨を報酬として受け取れる枠組みです。
IOSTは、ステーキングのエコシステム拡充にも力を入れているようです。
DApps開発でのプログラミング言語
DApps開発には様々なプログラミング言語が用いられています。
新しいプログラミング言語も提案されています。
ここでは、
- Solidity
- Vyper
- Fe
- Move
を紹介します。
Solidity
Solidityは、EthereumでのDApps開発に使用されるプログラミング言語です。
- C++
- Python
- JavaScript
に影響を受けているSolidityの構文は、JavaScriptに似ています。
Ethereumのコミュニティは大きく、Solidityを学ぼうと思った時にはマニュアル以外にも、CryptoZombiesを使って学習を進められます。
CryptoZombiesは、Solidity初学者がEthereumでのゲーム開発を学ぶことができるコンテンツです。
Vyper
Vyperは、Pythonに似た構文を持つプログラミング言語です。
Vyperは、Ethereum Virtual Machine (EVM)で動作します。
EVMとは、プログラムの実行環境で、SolidityもEVM上で動きます。
- セキュリティが強く意識されている
- シンプルさを追求
などが原則や目標とされているようです。
2021年2月時点で言語のバージョンは1.0になっていませんが、開発が進められています。
Solidityのように、EthereumでのDApps開発に今後広く使われるようになるかもしれません。
Fe
Feは、2020年に公開された新しいプログラミング言語です。
Feは、
- EVM上で動作する
- PythonとRustに影響を受けている
などの特徴を持ち、FeのコンパイラはRustで開発が進められています。
Feは、初めてアナウンスされてから間もなく、バージョン1.0がリリースされるまで時間を要するかもしれませんが、Ethereumのコミュニティに受け入れられれば、開発が進みDApps開発に使用される日が来るかもしれません。
Move
Moveは、仮想通貨システムDiemの開発に用いられることが期待される新しいプログラミング言語です。
Facebookが提案し、広く知られることになった仮想通貨プロジェクトLibraは、2020年にDiemという名称に変更されました。
Diemプロジェクトでの使用を想定して開発が進められている言語がMoveです。
- Rustに似ている
- ブロックチェーン開発以外での使用も視野に入れて開発が進められている
などの特徴があります。
EthereumコミュニティでのFeと同じように、開発はこれからが期待という印象ですが、
仮想通貨として長く期待されてきたDiem(旧Libra)が流通するようになれば、一気に注目を集める可能性があります。
気軽に試せる環境
Ethereumのコミュニティの発展の影響もあり、DApps開発に取り組むための環境が整備されてきています。
先に紹介した公式サイトのチュートリアル、CryptoZombiesなど以外にも、
- freeCodeCampの解説記事
- The Ultimate Ethereum Dapp Tutorial
など、リソースがあります。
Truffle Suiteをはじめとして、開発のフレームワークも登場しています。
Dapps関連のランキングや統計情報を確認できるDappRadarというサイトも登場しています。
DappRadarでリリースされているアプリを確認すると、多くのDappsがあることが分かります。
コミュニティの発展と開発が進むDAppsについて、興味が出た人は、まずはEthereumのコミュニティを見てみるのも良いかもしれません。
コメント