メインコンテンツへスキップ

イーサリアム開発入門

JavaScript
ethers.js
ノード
クエリ
Alchemy
初級
Elan Halpern
2020年10月30日
8 分の読書

イーサリアムとAlchemyのロゴ

この記事は、はじめてイーサリアム開発を行う初心者向けのガイドです。 このチュートリアルでは、Alchemy (opens in a new tab)を使用します。これは、Maker、0x、MyEtherWallet、Dharma、Kyberといったトップクラスのブロックチェーンアプリの70%に採用され、数百万人のユーザーを支える、業界をリードするブロックチェーン開発者プラットフォームです。 Alchemyを使用するとイーサリアムチェーン上でAPIエンドポイントにアクセスできるため、トランザクションの読み書きが可能になります。

Alchemyへのサインアップから、最初のWeb3スクリプト作成までご案内します! ブロックチェーンの開発経験は必要ありません!

1. 無料のAlchemyアカウントにサインアップする

Alchemyのアカウント作成は簡単です。こちらから無料でサインアップしてください (opens in a new tab)

2. Alchemyアプリを作成する

イーサリアムチェーンと通信し、Alchemy製品を使用するには、あなたのリクエストを認証するためのAPIキーが必要になります。

APIキーはダッシュボードから作成 (opens in a new tab)できます。 新しいキーを作成するには、以下のように「Create App」に移動してください:

ダッシュボードの表示を許可していただいたShapeShift (opens in a new tab)に、心より感謝申し上げます!

Alchemyのダッシュボード

「Create App」の下にある詳細情報に記入して、新しいキーを取得してください。 ここでは、あなたが以前に作成したアプリや、あなたのチームが作成したアプリも確認できます。 どのアプリについても、「View Key」をクリックすると既存のキーを取得できます。

Alchemyでアプリを作成するスクリーンショット

「Apps」にカーソルを合わせていずれかを選択することでも、既存のAPIキーを取得できます。 ここでは「View Key」の表示に加え、「Edit App」で特定のドメインをホワイトリストに登録したり、複数の開発者ツールを閲覧したり、アナリティクスを確認したりすることができます。

ユーザーへのAPIキー取得方法を示すGIF

3. コマンドラインからリクエストを行う

JSON-RPCとcurlを使用して、Alchemy経由でイーサリアムブロックチェーンとやり取りをします。

手動リクエストの場合は、POSTリクエストを介してJSON-RPCとやり取りすることをお勧めします。 Content-Type: application/jsonヘッダーと、以下のフィールドを含むクエリをPOSTボディとして渡すだけです:

  • jsonrpc: JSON-RPCのバージョン — 現在は2.0のみがサポートされています。
  • method: ETH APIメソッド。 APIリファレンスを参照 (opens in a new tab)
  • params: メソッドに渡すパラメータのリストです。
  • id: リクエストのIDです。 この値はレスポンスによって返されるため、どのリクエストに対するレスポンスなのかを追跡できます。

以下は、コマンドラインから現在のガス価格を取得するために実行できる一例です:

curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'

注: https://eth-mainnet.alchemyapi.io/v2/demo (opens in a new tab) を、ご自身のAPIキー https://eth-mainnet.alchemyapi.io/v2/**your-api-key に置き換えてください。

結果:

1{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }

4. Web3クライアントのセットアップ

既存のクライアントをお持ちの場合: 現在のノードプロバイダーのURLを、ご自身のAPIキーを含むAlchemyのURL “https://eth-mainnet.alchemyapi.io/v2/your-api-key\" に変更してください。

注: 以下のスクリプトは、コマンドラインから実行するのではなく、nodeコンテキストで実行するか、ファイルに保存する必要があります。 まだNodeまたはnpmをインストールしていない場合は、こちらのMac用クイックセットアップガイド (opens in a new tab)をご覧ください。

Alchemyと統合できるWeb3ライブラリ (opens in a new tab)はたくさんありますが、web3.jsのドロップインリプレースメントとして、Alchemyとシームレスに動作するように構築・設定されたAlchemy Web3 (opens in a new tab)の使用をお勧めします。 これにより、自動リトライや堅牢なWebSocketサポートなど、複数の利点が得られます。

AlchemyWeb3.jsをインストールするには、プロジェクトディレクトリに移動し、以下を実行してください:

Yarnの場合:

1yarn add @alch/alchemy-web3

NPMの場合:

1npm install @alch/alchemy-web3

Alchemyのノードインフラストラクチャとやり取りするには、NodeJSで実行するか、このコードをJavaScriptファイルに追加してください:

1const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
2const web3 = createAlchemyWeb3(
3 "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
4)

5. 最初のWeb3スクリプトを書きましょう!

それでは、少しWeb3プログラミングを試してみましょう。イーサリアムメインネットから最新のブロック番号を出力する簡単なスクリプトを作成します。

**1. まだ作成していない場合は、ターミナルで新しいプロジェクトディレクトリを作成し、そこにcdで移動してください:

1mkdir web3-example
2cd web3-example

**2. まだインストールしていない場合は、Alchemy Web3(または任意のWeb3)の依存関係をプロジェクトにインストールしてください:

1npm install @alch/alchemy-web3

**3. index.jsという名前のファイルを作成し、次の内容を追加してください:

最終的にはdemoをご自身のAlchemy HTTP APIキーに置き換える必要があります。

1async function main() {
2 const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
3 const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
4 const blockNumber = await web3.eth.getBlockNumber()
5 console.log("The latest block number is " + blockNumber)
6}
7main()

async(非同期処理)に慣れていませんか? こちらのMediumの投稿 (opens in a new tab)をご確認ください。

**4. nodeを使ってターミナルで実行します

1node index.js

**5. コンソールに最新のブロック番号が出力されているはずです!

1The latest block number is 11043912

素晴らしい! おめでとうございます! これでAlchemyを使って最初のWeb3スクリプトが書けました 🎉

次に何をすればいいかわからないですか? Hello Worldスマートコントラクトガイド (opens in a new tab)で最初のスマートコントラクトをデプロイしてSolidityプログラミングを試すか、ダッシュボードデモアプリ (opens in a new tab)でダッシュボードの知識を試してみてください!

Alchemyに無料でサインアップ (opens in a new tab)し、ドキュメント (opens in a new tab)をチェックして、最新ニュースはTwitter (opens in a new tab)でフォローしてください。

最終更新: 2025年9月25日

このチュートリアルは役に立ちましたか?