ethereum

EthereumノードホスティングサービスINFURAを設定する

EthereumノードホスティングサービスINFURAを設定する
Feb. 2, 2020, 1:51 p.m.

目次

INFURAはイーサリアムのノードをホスティングしてくれるサービスです.INFURAを使うメリットや導入方法を紹介します。

この記事で得られるもの

  • INFURAとは何か
  • 登録方法と使い方

INFURAとは何か

公式サイト

INFURA(インフラ)は、Ethereumのノードをホスティングしてくれるサービスです.

イーサリアム上でアカウントを作ったり、送金・マイニング・サービスの公開を行うためにはイーサリアムノードを立ち上げて、イーサリアムネットワークに参加する必要があります.

ところが自分のPC上にノードを立ち上げると、ブロックチェーンのデータが数百GBもダウンロードされ、同期処理に数日かかります.

容量も時間も無駄になります.

INFURAで提供されている、すでに同期済みのノードを使うとその無駄を避けることができます.

自分でコントラクトを書き、Dappsやスマートコントラクトを公開する時にINFURAを経由して公開することができます.

INFURAへの登録方法

INFURA登録ページ

上記へアクセスして

  • First(名前)
  • Last(名字)
  • What is your email address?(メールアドレス)
  • Terms of Service(利用規約)

を記入し、「I’m not a robot」にチェック.

重要なメールが届くので、必ず受信できるメールアドレスを入力しましょう.

Mailing Listはチェックしてもしなくても構いません.

「Submit」をクリック.

INFURAへの接続確認

infura@infura.ioから先ほど登録したメールアドレスへ以下のようなメールが届きます.

infura_key_mail

infura_key_mail

Main Ethereum Network

本物のイーサリアムネットワークのノードへ接続するためのURLです.

Test Ethereum Network (Ropsten)

世界中で広く使われている開発テスト用ネットワークのURLです.

これらのURLがINFURAに接続するために必要になります.

お好きな言語でPOSTリクエストを送って接続確認をしてみましょう.

メールで届いたURLに対して以下のJSONをPOSTリクエストします.

methodとparamsを変更することで様々な操作が可能です.

{
  "jsonrpc" : "2.0",
  "id" : 67867379,
  "method" : "eth_blockNumber",
  "params": []
}

ここではCURLというコマンドを使用する例を示します.

最後のURLをあなたのものに変更して以下を実行してみて下さい.

curl -H 'Content-Type:application/json' -s -X POST --data '{"jsonrpc":"2.0","id":67867379,"method":"eth_blockNumber","params":[]}' https://ropsten.infura.io/XXXXXXXXXXXXXXX

以下のようなJSONレスポンスが返って来たらOKです.

{"jsonrpc":"2.0","id":67867379,"result":"0x305560"}

Ethereum上のアプリ(Dapps)はこのようにノードとJSON RPCを介してコミュニケーションすることで動作します.

以上INFURAの紹介でした.

より深く知るために

JSON RPC仕様

http://www.jsonrpc.org/specification

Ethereum wiki JSON RPC

https://github.com/ethereum/wiki/wiki/JSON-RPC