ランキング
ブロックチェーン開発ツール10選:2023年のリスト

開発ツールは、ブロックチェーンアプリケーションを構築する時間の節約に役立ちます。この2023年のリストでは、言語、プログラム、インフラの種類を合わせて十項目紹介します。保守状況はそれぞれ異なり、当時すでに終了していた、または終了に向かっていたプロジェクトもあります。
1. Solidity
Solidityは、Ethereumやその他のEVM互換ネットワークでスマートコントラクトに広く使われる言語です。Ethereumのエコシステムで開発されましたが、唯一のブロックチェーンプログラミング言語ではありません。
豊富なライブラリとツールのエコシステムが普及を支えています。Solidityは多くのEthereum互換アプリケーションに適していますが、スマートコントラクトという概念自体を発明したわけではありません。

出典 – Soliditylang.org
Solidityには充実した文書、サンプル、ライブラリがあります。ソースコードを、Ethereum Virtual Machine(EVM)が実行できるコードにコンパイルします。リンク先の文書のバージョン0.8.21は、記事が最初に書かれた時期のものです。
2. MetaMask
開発者は分散型アプリケーションとやり取りするために、しばしばウォレットを使います。MetaMaskは、アカウント管理、アプリケーションへの接続、取引への署名のために、ブラウザー拡張機能やモバイルアプリなどを提供しています。
対応するネットワークやテストネットに接続できます。ただし、ネットワークを切り替えても資産が別のブロックチェーンに自動で移るわけではなく、移転には専用の機能やサービスが必要です。ウォレット自体はブロックチェーンネットワークではなく、アプリケーションの安全性や流動性を保証しません。
3. Truffle
Truffleは、ERC-20トークンだけでなくEthereumのスマートコントラクト全般を開発するための、よく知られた環境でした。コンパイル、コントラクトのデプロイ、ライブラリのリンク、MochaやChaiなどを使った自動テストを提供していました。
Consensysは2023年9月21日、TruffleとGanacheの終了と、2023年12月20日からの公開コードリポジトリのアーカイブ化を発表しました。利用者にはHardhatやFoundryなどを案内しました。そのため、ここでのTruffleは歴史的なツールであり、新規プロジェクトに必須の、積極的に保守されている選択肢という意味ではありません。
4. ブロックチェーンのテストネット
テストネットは、メインネットへのデプロイ前にコントラクトやアプリケーションを試すために役立ちます。動作や統合の問題を発見できますが、安全性、安定性、拡張性を自動的に証明するものではありません。
公開テストネットとローカルの開発ネットワークは異なる環境です。GanacheはTruffleエコシステムのローカル開発用ブロックチェーンであり、Ethereumの公開テストネットではありません。保守終了については前述のとおりです。
ローカル環境では条件を管理しながら素早く実験できます。公開テストネットでは共有環境での連携を試せますが、負荷や経済条件はメインネットと異なる場合があります。テストトークンは実際のメインネット資産を使わずに実験するためのものであり、テストネットの利用自体が本番アプリケーションのガス手数料を下げるわけではありません。
5. サービスとしてのブロックチェーン(BaaS)
BaaSでは、ノードやネットワークなどブロックチェーンインフラの一部を事業者が管理します。導入や運用を簡素化できますが、費用や機能はサービスと顧客の要件によって異なります。
アプリケーションのロジック、アクセス権限、設定、テストなどは引き続き顧客の責任です。管理型クラウドサービスを使っても、すべての保守・セキュリティ業務が自動的になくなるわけではありません。
既存システムとの統合は、利用可能なインターフェースと技術要件に左右されます。Amazon (AMZN )はAWS Managed Blockchainを提供しています。AWS Amplifyは、他のサービスと統合できるウェブ・モバイルアプリケーション向けのツールです。Microsoft (MSFT )のAzure Blockchain Serviceは2021年9月10日に終了しました。これはAzureの全サービスが終了したという意味ではありません。記事の歴史的な例を評価する際は、これらの名称を区別する必要があります。
6. Geth
GethはGoで実装されたEthereumの実行クライアントです。取引、EVMの実行、状態、プログラミングインターフェースなどを扱います。開発者はコントラクトのデプロイやネットワーク情報の読み取りに利用できます。
Ethereumが2022年にプルーフ・オブ・ステークへ移行してからは、フルノードにコンセンサスクライアントも必要です。GethがERC-20ネットワーク間のブリッジを自動で作るわけではありません。ERC-20は独立したネットワークではなくトークンの規格です。Ethereumのメインネットでは現在ブロックのマイニングは行われず、コントラクトをGoで書く必要もありません。
7. Mist
Mistは、ウォレット機能とEthereumノードへの接続機能を備えた、分散型アプリケーション向けの独立型ブラウザーでした。ブラウザー拡張機能とは異なり、過去にはLinux、macOS、Windows用に提供されていました。フルノードの運用には相当な保存容量が必要でした。
開発者は2019年3月27日、MistとEthereum Walletのサポート終了を発表しました。コードリポジトリもアーカイブ化されています。したがって2023年の時点でも新規利用を勧める現行ツールではなく、かつて公式だったことは安全性の証明になりません。ここではエコシステムの歴史として取り上げています。
8. Remix IDE
Remix IDEはSolidityなどの開発環境で、ブラウザーとデスクトップアプリで利用できます。スマートコントラクトの記述、コンパイル、分析、テスト、デプロイを支援します。最初にローカルでシミュレーションし、その後、対応する接続経由でテストネットやメインネットを利用できます。このツールは総合的なセキュリティ評価の代わりにはなりません。
9. Ethlint
旧称SoliumのEthlintは、Solidityコードのスタイル規則や一部のセキュリティ問題を検査し、問題の一部を自動修正できます。文書では、旧soliumパッケージは2019年12月以降更新されず、利用者はethlintへ移行するよう案内されています。
リンターはすべての誤りを見つけるわけではなく、テストや監査を代替しません。スタイル規則への違反が必ずアプリケーションのクラッシュを引き起こすわけでもありません。書式と機能上の誤りは別であり、使用するSolidityバージョンとの互換性も確認する必要があります。
10. Solc
SolcはSolidityのコンパイラーです。ソースコードからバイトコードやABIの記述などを生成します。アプリケーションはABIを利用してコントラクトと通信します。
ネイティブのコンパイラーはC++で実装され、solc-jsは同じコンパイラーをJavaScriptから使えるようにします。これはsolcがC++やJavaScriptで書かれたコントラクトをコンパイルするという意味ではなく、入力言語はSolidityです。設定はコントラクトと対象ネットワークに適したものにする必要があります。
ブロックチェーン開発ツールの選び方
十項目は開発のさまざまな段階をカバーします。選択前に機能、保守状況、互換性を評価してください。ツールは作業を容易にしますが、コントラクトの正確性には調査、テスト、セキュリティ確認も必要です。












