はじめに
Ethereum の JavaScript ライブラリである ethers.js の日本語チュートリアルを作成しました。
https://github.com/nakamura196/ethers-ja-tutorial
VitePress で静的サイトとしても公開しています。
https://nakamura196.github.io/ethers-ja-tutorial/
作った背景
ethers.js は Ethereum 開発において最も広く使われているライブラリの一つです。v6 に関する日本語記事は v5 からのマイグレーション解説が中心で、初心者がゼロから学べる体系的なチュートリアルは見当たりませんでした。公式ドキュメントも英語のみのため、日本語で基礎から順を追って学べるチュートリアルを作成しました。
チュートリアルの内容
全 8 章構成で、基礎から実践的な内容までカバーしています。
| 章 | テーマ | 内容 |
|---|---|---|
| 1 | 環境構築 | Node.js と ethers.js のインストール |
| 2 | プロバイダー | Ethereum ネットワークへの接続 |
| 3 | ウォレット | ウォレットの作成と管理 |
| 4 | ブロックチェーンの読み取り | 残高確認・ブロック情報の取得 |
| 5 | トランザクション送信 | ETH の送金 |
| 6 | スマートコントラクト | コントラクトとのやり取り |
| 7 | イベント | イベントのリスニング |
| 8 | ユーティリティ | 単位変換・ハッシュなどの便利機能 |
特徴
すぐに動くサンプルコード付き
examples/ ディレクトリに実行可能なサンプルコードを用意しています。
たとえば 01-connect.mjs を実行すると、Ethereum メインネットの最新ブロック番号やガス価格が取得できます。
VitePress によるドキュメントサイト
チュートリアルは VitePress で静的サイト化し、GitHub Pages でホスティングしています。サイドバーから各章にアクセスでき、目次も自動生成されます。
GitHub Actions で main ブランチへの push 時に自動デプロイされる構成です。
ethers.js v5 との違い
このチュートリアルは v6 に対応しています。v5 からの主な変更点として、以下のような違いがあります。
ethers.providers.JsonRpcProvider→ethers.JsonRpcProvider(フラットな名前空間)ethers.utils.formatEther()→ethers.formatEther()- BigNumber → ネイティブの
BigInt Contractのイベントリスニング API の変更
v5 のコードをそのまま使うと動かないケースが多いため、v6 に特化したチュートリアルを用意しました。
技術スタック
- ethers.js v6 — Ethereum ライブラリ
- VitePress — 静的サイトジェネレーター
- GitHub Actions — CI/CD(自動デプロイ)
- GitHub Pages — ホスティング
おわりに
Ethereum 開発に興味があるけれど英語のドキュメントに抵抗がある方や、ethers.js v6 の使い方を体系的に学びたい方の参考になれば嬉しいです。
Issue や PR でのフィードバックも歓迎しています。