NAV Navbar
cURL

概要

Ginco Nodes APIはブロックチェーンノードに標準実装されているAPIとブロックチェーンを使ったアプリケーションの開発に必要な独自APIを提供します。

認証

認証を確認するためには以下のコードをご使用ください。

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "net_version",
            "id": 1,
            "params": []
          }'

以下のレスポンスがあれば認証は成功です。

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "1"
}

Ginco NodesはAPIキーを使ってリクエストを認証します。

全てのリクエストにおいて、URIにAPIキーを含める必要があります。

エンドポイント

JSON-RPC

ブロックチェーン ネットワーク エンドポイント
Ethereum Mainnet https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY
Ethereum Ropsten https://nodes.gincoapis.com/ethereum/ropsten/v1/API_KEY

WebSocket

ブロックチェーン ネットワーク エンドポイント
Ethereum Mainnet wss://nodes.gincoapis.com/ethereum/mainnet/v1/ws/API_KEY
Ethereum Ropsten wss://nodes.gincoapis.com/ethereum/ropsten/v1/ws/API_KEY

Ethereum API 仕様

JSON-RPC

JSON は、軽量なデータフォーマットです。数値、文字列、配列、連想配列(map)を表現することができます。

JSON-RPC はステートレスかつ軽量な RPC (remote procedure call) プロトコルです。主にこの仕様ではいくつかのデータ構造とそれらの処理に関する規則を定義します。JSON-RPCは同プロセス内、ソケット通信、HTTP通信など、その他多くのさまざまな通信においてトランスポートに依存せず使用することができます。また、データフォーマットとしてJSON (RFC 4627) を使用しています。

16進数エンコーディング

主要なデータ型として数量とバイトデータがあります。どちらも16進数エンコーディングの string で渡されますが、フォーマットが異なります。

数量

数量の例:

○ 0x41  # 10進数で65
○ 0x400 # 10進数で1024

× 0x     # 少なくとも1個の数字が必要。0は"0x0"とする
× 0x0400 # 先頭の0埋めはしない
× ff     # 0xのprefixは必須

16 進数としてエンコードし、先頭に "0x" のprefixを付けてください。

バイトデータ (byte arrays, account addresses, hashes, bytecode arrays)

バイトデータの例:

○ 0x41     # サイズ 1, 文字列   "A"
○ 0x004200 # サイズ 3, 文字列   "\0B\0"
○ 0x       # サイズ 0, 空文字列 ""

× 0xf0f0f # 偶数桁でない
× 004200  # 0xのprefixは必須

1 バイト当たり 2 桁の 16 進数でエンコードし、先頭に "0x" の prefix を付けてください。

デフォルトブロックパラメータ

以下のメソッドでは追加でデフォルトブロックパラメータを指定することができます。

Ethereumの状態に基づいて動作する要求が行われると、デフォルトブロックパラメータによって指定されたブロック高でのデータを取得します。

デフォルトブロックパラメータには、以下のオプションがあります。

オブジェクト

ブロックオブジェクト

ブロックオブジェクト例:

{
  "difficulty": "0x90c21c56929b2",
  "extraData": "0x743132",
  "gasLimit": "0x7a121d",
  "gasUsed": "0x79fac5",
  "hash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
  "logsBloom": "0x8584009c4dd8101162295d8604b1850200788d4c81f39044821155049d2c036a8a00d07f2a10383180984400b0290ba00293400c1d414a5018104a010220101909b918c601251215109755b90003c6a2c23490829e319a506281d9641ac39a840d3aa03e4a287900e0c09641594409a2010543016e966382c02040754030430e2d708316ec64008f0c0100c713b51f8004005bd48980143e08b22bf2262365b8b2658804a560f1028207666d10288144a5a14609a5bcb221280b13da2f4c8800d8422cc27126a46a04f08c00ca9004081d65cc75d10c62862256118481d2e881a993780808e0a00086e321a4602cb214c0044215281c2ccbca824aca00824a80",
  "miner": "0xb2930b35844a230f00e51431acae96fe543a0347",
  "mixHash": "0x94cd4e844619ee20989578276a0a9046877d569d37ba076bf2e8e34f76189dea",
  "nonce": "0x4617a20003ba3f25",
  "number": "0x4c4b40",
  "parentHash": "0xcae4df80f5862e4321690857eded0d8a40136dafb8155453920bade5bd0c46c0",
  "receiptsRoot": "0x6db67db55d5d972c59646a3bda26a39422e71fe400e4cdf9eb7f5c09b0efa7d0",
  "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "size": "0x5dd1",
  "stateRoot": "0x6092dfd6bcdd375764d8718c365ce0e8323034da3d3b0c6d72cf7304996b86ad",
  "timestamp": "0x5a70760d",
  "totalDifficulty": "0x7be181d83d2d77d052",
  "transactions": [
    "0x569c5b35f203ca6db6e2cec44bceba756fad513384e2bd79c06a8c0181273379",
    ...
  ],
  "transactionsRoot": "0x91dfce7cc2174482b5ebcf6f4beedce854641982eadb1a8cf538e3206abf7836",
  "uncles": []
}
フィールド 説明
difficulty string 採掘難易度
extraData string 任意の情報
gasLimit string 許容する最大ガス
gasUsed string 全トランザクションで使用したガス
hash string ブロックのハッシュ。チェーンに入っていない場合は null
logsBloom string ログのブルームフィルター。チェーンに入っていない場合は null
miner string 採掘者のアドレス
mixHash string nonceと合わせて検証に使う値
nonce string mixHashと合わせて検証に使う値。チェーンに入っていない場合は null
number string ブロックナンバー。チェーンに入っていない場合は null
parentHash string 親ブロックのハッシュ
receiptsRoot string レシートのルートハッシュ
sha3Uncles string uncleブロックデータのハッシュ
size string ブロックのサイズ [byte]
stateRoot string ステートツリーのルートハッシュ
timestamp string 取り込まれた時のUNIXタイムスタンプ
totalDifficulty string このブロックまでのチェーンの総難易度
transactions array トランザクションオブジェクトの配列、またはトランザクションハッシュの配列
transactionsRoot string トランザクションのルートハッシュ
uncles array uncleブロックのハッシュの配列

コールオブジェクト

コールオブジェクト例:

{
  "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
  "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
  "gas": "0x76c0",
  "gasPrice": "0x9184e72a000",
  "value": "0x9184e72a",
  "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}
フィールド 説明
from string 送信者のアドレス
to string 宛先のアドレス
gas string 送信者が提供したガス [wei]
gasPrice string 送信者が決めたガスの値段 [wei]
value string 転送された値 [wei]
data string 4 bytes のメソッドIDとエンコードされたパラメータ。詳細については Ethereum Contract ABI を参照してください。

トランザクションオブジェクト

トランザクションオブジェクト例:

{
  "blockHash": "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
  "blockNumber": "0x5daf3b",
  "from": "0xa7d9ddbe1f17865597fbd27ec712455208b6b76d",
  "gas": "0xc350",
  "gasPrice": "0x4a817c800",
  "hash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
  "input": "0x68656c6c6f21",
  "nonce": "0x15",
  "r": "0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
  "s": "0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c",
  "to": "0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb",
  "transactionIndex": "0x41",
  "v": "0x25",
  "value": "0xf3dbb76162000"
}
フィールド 説明
blockHash string ブロックハッシュ。ブロックに入っていない場合は null
blockNumber string ブロックナンバー。ブロックに入っていない場合は null
from string 送信者のアドレス
gas string 送信者が提供したガス
gasPrice string 送信者が決めたガスの値段 [wei]
hash string トランザクションハッシュ
input string トランザクションに含まれたデータ
nonce string 送信者がこのトランザクション以前に送信したトランザクションの数
r string ECDSA署名の r
s string ECDSA署名の s
to string 受信者のアドレス。コントラクト生成時は null
transactionIndex string ブロック内でのインデックス。ブロックに入っていない場合は null
v string ECDSA署名の recovery id
value string 転送された値 [wei]

トランザクションレシートオブジェクト

トランザクションレシートオブジェクト例:

{
  "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
  "blockNumber": "0x4c4b40",
  "contractAddress": null,
  "cumulativeGasUsed": "0xeda3",
  "from": "0x0681d8db095565fe8a346fa0277bffde9c0edbbf",
  "gasUsed": "0x9b9b",
  "logs": [
    {
      "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
      "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
      "blockNumber": "0x4c4b40",
      "data": "0x00000000000000000000000000000000000000000000009a41e07a74a99ec000",
      "logIndex": "0x0",
      "removed": false,
      "topics": [
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0x0000000000000000000000000681d8db095565fe8a346fa0277bffde9c0edbbf",
        "0x000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c"
      ],
      "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
      "transactionIndex": "0x1"
    }
  ],
  "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000080000000000000000000000000000000000000000100000002000000000000000010000000000000000000400000000000040000100000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000",
  "status": "0x1",
  "to": "0xd850942ef8811f2a866692a623011bde52a462c1",
  "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
  "transactionIndex": "0x1"
}
フィールド 説明
blockHash string ブロックハッシュ
blockNumber string ブロックナンバー
contractAddress string コントラクトアドレス。コントラクト生成時以外は null
cumulativeGasUsed string このトランザクションが実行された時点でのブロック内で使用されたガスの総量
from string 送信者のアドレス
gasUsed string トランザクションで使われたガス [wei]
logs array ログオブジェクトの配列
logsBloom string ログのブルームフィルター
status string ステータス。0x1 は成功、 0x0 は失敗
to string 受信者のアドレス。コントラクト生成時は null
transactionHash string トランザクションハッシュ
transactionIndex string ブロック内でのインデックス

ログオブジェクト

ログオブジェクト例:

{
  "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
  "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
  "blockNumber": "0x4c4b40",
  "data": "0x00000000000000000000000000000000000000000000009a41e07a74a99ec000",
  "logIndex": "0x0",
  "removed": false,
  "topics": [
    "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
    "0x0000000000000000000000000681d8db095565fe8a346fa0277bffde9c0edbbf",
    "0x000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c"
  ],
  "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
  "transactionIndex": "0x1"
}
フィールド 説明
address string このログが発生したアドレス
blockHash string ブロックハッシュ
blockNumber string ブロックナンバー
data string indexed ではない引数の値
logIndex string ブロック内のログのインデックス
removed boolean reorgによってログが削除された場合は true、有効なログの場合は false
topics array トピックデータの配列
transactionHash string トランザクションハッシュ
transactionIndex string ブロック内でのインデックス

フィルターオブジェクト

フィルターオブジェクト例:

{
  "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
  "blockhash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
  "topics": [
    "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
  ]
}
フィールド デフォルト 説明
address string | array アドレス、またはアドレスの配列
blockhash string ブロックのハッシュ
fromBlock string latest 開始ブロック。デフォルトブロックパラメータ
toBlock string latest 終了ブロック。デフォルトブロックパラメータ
topics array トピックデータの配列

RPC PUB SUB

例:

// サブスクリプションの作成
>> {"id": 1, "method": "eth_subscribe", "params": ["newHeads", {}]}
<< {"jsonrpc":"2.0","id":1,"result":"0xcd0c3e8af590364c09d0fa6a1210faf5"}

// 受信通知
<< {"jsonrpc":"2.0","method":"eth_subscription","params":{"subscription":"0xcd0c3e8af590364c09d0fa6a1210faf5","result":{"difficulty":"0xd9263f42a87",<...>, "uncles":[]}}}
<< {"jsonrpc":"2.0","method":"eth_subscription","params":{"subscription":"0xcd0c3e8af590364c09d0fa6a1210faf5","result":{"difficulty":"0xd90b1a7ad02", <...>, "uncles":["0x80aacd1ea4c9da32efd8c2cc9ab38f8f70578fcd46a1a4ed73f82f3e0957f936"]}}}

// サブスクリプションのキャンセル
>> {"id": 1, "method": "eth_unsubscribe", "params": ["0xcd0c3e8af590364c09d0fa6a1210faf5"]}
<< {"jsonrpc":"2.0","id":1,"result":true}

JSON-RPC 2.0の仕様で定義されているようにサブスクリプションを使用して pub/sub を利用できます。 これにより、クライアントはイベントをポーリングする代わりにイベントを待つことができます。

特定のイベントをサブスクライブすることで利用できます。 ノードはサブスクライブIDを返します。 一致するイベントごとに、関連データを含む通知がサブスクライブIDと共に送信されます。

考慮事項

  1. 通知は現在のイベントに対して送信され、過去のイベントに対しては送信されません。
  2. サブスクリプションはWebSocketで提供しています。
  3. サブスクリプションはコネクションに紐付いています。 コネクションが閉じられると、このコネクションを介して作成されたすべてのサブスクリプションが削除されます。
  4. 通知は内部バッファに格納され、このバッファからクライアントに送信されます。 クライアントが対応できず、バッファされた通知の数が制限(現在は10k)に達すると、コネクションは閉じられます。 いくつかのイベントをサブスクライブすると、ノードが同期を開始したときにすべてのログ/ブロックをリッスンするなど、大量の通知が発生する可能性があることに注意してください。

Ethereum JSON-RPC

web3_clientVersion

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "web3_clientVersion",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "Parity-Ethereum//v2.2.9-stable-5d5b372-20190203/x86_64-linux-gnu/rustc1.31.1"
}

ノードのバージョンを返します。

params

無し

result

説明
string ノードのバージョン

net_version

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "net_version",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "1"
}

ネットワークIDを返します。

ネットワーク ネットワークID
Olympic Testnet (廃止) 0
Ethereum Mainnet 1
Morden Testnet (廃止) 2
Ropsten Testnet 3
Rinkeby Testnet 4
Kovan Testnet 42

params

無し

result

説明
string ネットワークID

net_peerCount

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "net_peerCount",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x64"
}

接続しているピアの数を返します。

params

無し

result

説明
string 接続しているピアの数

net_listening

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "net_listening",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

ネットワーク接続がアクティブかどうかを返します。

params

無し

result

説明
boolean アクティブの場合は true 、それ以外は false

eth_protocolVersion

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_protocolVersion",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "63"
}

プロトコルバージョンを返します。

params

無し

result

説明
string プロトコルバージョン

eth_syncing

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_syncing",
            "id": 1,
            "params": []
          }'

レスポンス例 (同期中):

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "currentBlock": "0x4f3104",
    "highestBlock":"0x6edbac",
    "startingBlock":"0x0"
  }
}

レスポンス例 (同期済):

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": false
}

同期状態を返します。

params

無し

result (同期中)

フィールド 説明
startingBlock string インポートが開始されたブロックナンバー
currentBlock string 現在のブロックナンバー
highestBlock string 推定された最新ブロックナンバー

result (同期済)

説明
boolean false

eth_gasPrice

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_gasPrice",
            "params": [],
            "id": 1
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x342770c00"
}

現在のGas Priceを返します。

params

無し

result

説明
string Gas Price [wei]

eth_blockNumber

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_blockNumber",
            "id": 1,
            "params": []
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x6edbcb"
}

最新のブロックナンバーを返します。

params

無し

result

説明
string ブロックナンバー

eth_getBalance

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getBalance",
            "id": 1,
            "params": [
              "0x3f17f1962B36e491b30A40b2405849e597Ba5FB5",
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x8b2deac5eb3c0a09"
}

指定したアドレスの残高を返します。

params

必須 説明
string アドレス
string デフォルトブロックパラメータ

result

説明
string 残高 [wei]

eth_getStorageAt

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getStorageAt",
            "id": 1,
            "params": [
              "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d",
              "0x0",
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x000000000000000000000000af1e54b359b0897133f437fc961dd16f20c045e1"
}

指定したアドレスのストレージポジションから値を取得します。

params

必須 説明
string アドレス
string ストレージポジション
string デフォルトブロックパラメータ

result

説明
string ストレージポジションにある値

eth_getTransactionCount

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getTransactionCount",
            "id": 1,
            "params": [
              "0xc94770007dda54cF92009BFF0dE90c06F603a09f",
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x1d7"
}

指定したアドレスの送信済みトランザクションの数を取得します。

params

必須 説明
string アドレス
string デフォルトブロックパラメータ

result

説明
string トランザクションの数

eth_getBlockTransactionCountByHash

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getBlockTransactionCountByHash",
            "id": 1,
            "params": [
              "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x6d"
}

指定したブロックハッシュのブロックに含まれるトランザクションの数を取得します。

params

必須 説明
string ブロックハッシュ

result

説明
string トランザクションの数

eth_getBlockTransactionCountByNumber

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getBlockTransactionCountByNumber",
            "id": 1,
            "params": [
              "0x4c4b40"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x6d"
}

指定したブロックナンバーのブロックに含まれるトランザクションの数を取得します。

params

必須 説明
string デフォルトブロックパラメータ

result

説明
string トランザクションの数

eth_getUncleCountByBlockHash

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getUncleCountByBlockHash",
            "id": 1,
            "params": [
              "0x48c4f178862ad6228a4058af0d64a908c09a5e1305cf54ef66cc71ac35d70276"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x2"
}

指定したブロックハッシュのブロックのuncleブロックの数を取得します。

params

必須 説明
string ブロックハッシュ

result

説明
string uncleブロックの数

eth_getUncleCountByBlockNumber

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getUncleCountByBlockNumber",
            "id": 1,
            "params": [
              "0x4f4387"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x2"
}

指定したブロックナンバーのブロックのuncleブロックの数を取得します。

params

必須 説明
string デフォルトブロックパラメータ

result

説明
string uncleブロックの数

eth_getCode

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getCode",
            "id": 1,
            "params": [
              "0x06012c8cf97bead5deae237070f9587f8e7a266d",
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x6060604052600436106102a55763ffff..."
}

指定したコントラクトアドレスのコードを取得します。

params

必須 説明
string コントラクトアドレス
string デフォルトブロックパラメータ

result

説明
string コンパイルされたコード

eth_sendRawTransaction

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_sendRawTransaction",
            "id": 1,
            "params": [
              "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id":1,
  "result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}

署名済みトランザクションをブロードキャストします。

params

必須 説明
string 署名済みトランザクション

result

説明
string トランザクションハッシュ

eth_call

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_call",
            "id": 1,
            "params": [{
              "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
              "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
              "gas": "0x76c0",
              "gasPrice": "0x9184e72a000",
              "value": "0x9184e72a",
              "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
              },
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id":1,
  "result": "0x"
}

ブロックチェーンに追加されないコールまたはトランザクションを作成し新規のメッセージを呼び出します。

params

必須 説明
object コールオブジェクト
string デフォルトブロックパラメータ

result

説明
string トランザクションハッシュ

eth_estimateGas

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_estimateGas",
            "id": 1,
            "params": [{
              "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
              "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
              "gas": "0x76c0",
              "gasPrice": "0x9184e72a000",
              "value": "0x9184e72a",
              "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
              },
              "latest"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id":1,
  "result": "0x5cec"
}

ブロックチェーンに追加されないコールまたはトランザクションを作成し、gasUsed を返します。これは gasUsed の推定に使用できます。

params

必須 説明
object コールオブジェクト
string デフォルトブロックパラメータ

result

説明
string Gas Used [wei]

eth_getBlockByHash

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getBlockByHash",
            "id": 1,
            "params": [
              "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
              true
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "difficulty": "0x90c21c56929b2",
    "extraData": "0x743132",
    "gasLimit": "0x7a121d",
    "gasUsed": "0x79fac5",
    "hash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
    "logsBloom": "0x8584009c4dd8101162295d8604b1850200788d4c81f39044821155049d2c036a8a00d07f2a10383180984400b0290ba00293400c1d414a5018104a010220101909b918c601251215109755b90003c6a2c23490829e319a506281d9641ac39a840d3aa03e4a287900e0c09641594409a2010543016e966382c02040754030430e2d708316ec64008f0c0100c713b51f8004005bd48980143e08b22bf2262365b8b2658804a560f1028207666d10288144a5a14609a5bcb221280b13da2f4c8800d8422cc27126a46a04f08c00ca9004081d65cc75d10c62862256118481d2e881a993780808e0a00086e321a4602cb214c0044215281c2ccbca824aca00824a80",
    "miner": "0xb2930b35844a230f00e51431acae96fe543a0347",
    "mixHash": "0x94cd4e844619ee20989578276a0a9046877d569d37ba076bf2e8e34f76189dea",
    "nonce": "0x4617a20003ba3f25",
    "number": "0x4c4b40",
    "parentHash": "0xcae4df80f5862e4321690857eded0d8a40136dafb8155453920bade5bd0c46c0",
    "receiptsRoot": "0x6db67db55d5d972c59646a3bda26a39422e71fe400e4cdf9eb7f5c09b0efa7d0",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x5dd1",
    "stateRoot": "0x6092dfd6bcdd375764d8718c365ce0e8323034da3d3b0c6d72cf7304996b86ad",
    "timestamp": "0x5a70760d",
    "totalDifficulty": "0x7be181d83d2d77d052",
    "transactions": [
      {
        "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
        "blockNumber": "0x4c4b40",
        "from": "0xd6cb6744b7f2da784c5afd6b023d957188522198",
        "gas": "0x1d8a8",
        "gasPrice": "0x1f3305bc00",
        "hash": "0x569c5b35f203ca6db6e2cec44bceba756fad513384e2bd79c06a8c0181273379",
        "input": "0x",
        "nonce": "0xfef",
        "r": "0x5df5034c46551b630553201581bd690e021c13b3134f37d14eb19ea971292a39",
        "s": "0x4f263a9ef7b6e6d18d1b6c120f051e51aa737e12aabcf9466377779eb60656a9",
        "to": "0x88a690553913a795c3c668275297635b903a29e5",
        "transactionIndex": "0x0",
        "v": "0x25",
        "value": "0x2c250d4240020400"
      },
      {...}
    ],
    "transactionsRoot": "0x91dfce7cc2174482b5ebcf6f4beedce854641982eadb1a8cf538e3206abf7836",
    "uncles": []
  }
}

指定したブロックハッシュのブロック情報を取得します。

params

必須 説明
string ブロックハッシュ
boolean トランザクションオブジェクトを含めるかどうか

result

説明
object ブロックオブジェクト。存在しない場合は null

eth_getBlockByNumber

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getBlockByNumber",
            "id": 1,
            "params": [
              "0x4c4b40",
              false
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "difficulty": "0x90c21c56929b2",
    "extraData": "0x743132",
    "gasLimit": "0x7a121d",
    "gasUsed": "0x79fac5",
    "hash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
    "logsBloom": "0x8584009c4dd8101162295d8604b1850200788d4c81f39044821155049d2c036a8a00d07f2a10383180984400b0290ba00293400c1d414a5018104a010220101909b918c601251215109755b90003c6a2c23490829e319a506281d9641ac39a840d3aa03e4a287900e0c09641594409a2010543016e966382c02040754030430e2d708316ec64008f0c0100c713b51f8004005bd48980143e08b22bf2262365b8b2658804a560f1028207666d10288144a5a14609a5bcb221280b13da2f4c8800d8422cc27126a46a04f08c00ca9004081d65cc75d10c62862256118481d2e881a993780808e0a00086e321a4602cb214c0044215281c2ccbca824aca00824a80",
    "miner": "0xb2930b35844a230f00e51431acae96fe543a0347",
    "mixHash": "0x94cd4e844619ee20989578276a0a9046877d569d37ba076bf2e8e34f76189dea",
    "nonce": "0x4617a20003ba3f25",
    "number": "0x4c4b40",
    "parentHash": "0xcae4df80f5862e4321690857eded0d8a40136dafb8155453920bade5bd0c46c0",
    "receiptsRoot": "0x6db67db55d5d972c59646a3bda26a39422e71fe400e4cdf9eb7f5c09b0efa7d0",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x5dd1",
    "stateRoot": "0x6092dfd6bcdd375764d8718c365ce0e8323034da3d3b0c6d72cf7304996b86ad",
    "timestamp": "0x5a70760d",
    "totalDifficulty": "0x7be181d83d2d77d052",
    "transactions": [
      "0x569c5b35f203ca6db6e2cec44bceba756fad513384e2bd79c06a8c0181273379",
      ...
    ],
    "transactionsRoot": "0x91dfce7cc2174482b5ebcf6f4beedce854641982eadb1a8cf538e3206abf7836",
    "uncles": []
  }
}

指定したブロックナンバーのブロック情報を取得します。

params

必須 説明
string ブロックナンバー
boolean トランザクションオブジェクトを含めるかどうか

result

説明
object ブロックオブジェクト。存在しない場合は null

eth_getTransactionByHash

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getTransactionByHash",
            "id": 1,
            "params": [
              "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockHash": "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
    "blockNumber": "0x5daf3b",
    "from": "0xa7d9ddbe1f17865597fbd27ec712455208b6b76d",
    "gas": "0xc350",
    "gasPrice": "0x4a817c800",
    "hash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
    "input": "0x68656c6c6f21",
    "nonce": "0x15",
    "r": "0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
    "s": "0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c",
    "to": "0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb",
    "transactionIndex": "0x41",
    "v": "0x25",
    "value": "0xf3dbb76162000"
  }
}

指定したトランザクションハッシュのトランザクションオブジェクトを取得します。

params

必須 説明
string トランザクションハッシュ

result

説明
object トランザクションオブジェクト。存在しない場合は null

eth_getTransactionByBlockHashAndIndex

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getTransactionByBlockHashAndIndex",
            "id": 1,
            "params": [
              "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
              "0x1"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
    "blockNumber": "0x4c4b40",
    "from": "0x0681d8db095565fe8a346fa0277bffde9c0edbbf",
    "gas": "0x13736",
    "gasPrice": "0x174876e800",
    "hash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
    "input": "0xa9059cbb000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c00000000000000000000000000000000000000000000009a41e07a74a99ec000",
    "nonce": "0x361d7",
    "r": "0x52a8b9e9bceeb6b2b50b863fb4b5ab529bf79db271df1d30381544e93b9393f4",
    "s": "0x1e1f0fefea2741ab67c0ce795c0dff5c0faed8c5d32e03acc963119cdc84d41f",
    "to": "0xd850942ef8811f2a866692a623011bde52a462c1",
    "transactionIndex": "0x1",
    "v": "0x26",
    "value": "0x0"
  }
}

指定したブロックハッシュとインデックスからトランザクションオブジェクトを取得します。

params

必須 説明
string ブロックハッシュ
string トランザクションインデックス

result

説明
object トランザクションオブジェクト。存在しない場合は null

eth_getTransactionByBlockNumberAndIndex

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getTransactionByBlockNumberAndIndex",
            "id": 1,
            "params": [
              "0x4c4b40",
              "0x1"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
    "blockNumber": "0x4c4b40",
    "from": "0x0681d8db095565fe8a346fa0277bffde9c0edbbf",
    "gas": "0x13736",
    "gasPrice": "0x174876e800",
    "hash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
    "input": "0xa9059cbb000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c00000000000000000000000000000000000000000000009a41e07a74a99ec000",
    "nonce": "0x361d7",
    "r": "0x52a8b9e9bceeb6b2b50b863fb4b5ab529bf79db271df1d30381544e93b9393f4",
    "s": "0x1e1f0fefea2741ab67c0ce795c0dff5c0faed8c5d32e03acc963119cdc84d41f",
    "to": "0xd850942ef8811f2a866692a623011bde52a462c1",
    "transactionIndex": "0x1",
    "v": "0x26",
    "value": "0x0"
  }
}

指定したブロックハッシュとインデックスからトランザクションオブジェクトを取得します。

params

必須 説明
string ブロックハッシュ
string トランザクションインデックス

result

説明
object トランザクションオブジェクト。存在しない場合は null

eth_getTransactionReceipt

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getTransactionReceipt",
            "id": 1,
            "params": [
              "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
    "blockNumber": "0x4c4b40",
    "contractAddress": null,
    "cumulativeGasUsed": "0xeda3",
    "from": "0x0681d8db095565fe8a346fa0277bffde9c0edbbf",
    "gasUsed": "0x9b9b",
    "logs": [
      {
        "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
        "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
        "blockNumber": "0x4c4b40",
        "data": "0x00000000000000000000000000000000000000000000009a41e07a74a99ec000",
        "logIndex": "0x0",
        "removed": false,
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x0000000000000000000000000681d8db095565fe8a346fa0277bffde9c0edbbf",
          "0x000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c"
        ],
        "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
        "transactionIndex": "0x1"
      }
    ],
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000080000000000000000000000000000000000000000100000002000000000000000010000000000000000000400000000000040000100000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000",
    "status": "0x1",
    "to": "0xd850942ef8811f2a866692a623011bde52a462c1",
    "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
    "transactionIndex": "0x1"
  }
}

指定したトランザクションハッシュのトランザクションレシートを取得します。

params

必須 説明
string トランザクションハッシュ

result

説明
object トランザクションレシートオブジェクト。存在しない場合は null

eth_getUncleByBlockHashAndIndex

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getUncleByBlockHashAndIndex",
            "id": 1,
            "params": [
              "0x48c4f178862ad6228a4058af0d64a908c09a5e1305cf54ef66cc71ac35d70276",
              "0x1"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "difficulty": "0xb32a9b416c0b1",
    "extraData": "0x6e616e6f706f6f6c2e6f7267",
    "gasLimit": "0x7a121d",
    "gasUsed": "0x43f8b3",
    "hash": "0x657780948b9241f1f731a0e9b5e2577e2348ca7bcccc063c1f5620c3c14fc45f",
    "logsBloom": "0x00220080000080002001000000000000000000000100000101000240180080000c0200000000000010040020000002000000400080000000000000900048000000000000480000000080000a00040000000000000000000008000010000000000c00000800021400004000000080080802000000000000000000001000400204004100001004028000400000010000000000000000000200000028000000041000000000020200000010000004008000040000200000000000401000002040000001000300000080020400000888000000c010000000040019000000000000010400001000000000040000000880008040000810001000000800020202000100",
    "miner": "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5",
    "mixHash": "0x741731b07ca14ce9a9e2b170bd94a2f5c6a36ccd1daa9493eedb9e6c6b2a261f",
    "nonce": "0xddd54d400c8126cb",
    "number": "0x4f4386",
    "parentHash": "0x0fd3a20ca8d2282f679d9c3276139f6738b9ec6b0f07deb748593e071edbd1d9",
    "receiptsRoot": "0x9b59e36b092f00f0a3f334d19ed25bf8ee6680f9a4afddc3b7ee709eb96403db",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x215",
    "stateRoot": "0x473de79d08133c04b4a3330297e42169b1275d2577b9a9ed0b76e943d704a68c",
    "timestamp": "0x5a9bd63f",
    "totalDifficulty": null,
    "transactionsRoot": "0x6e819170132f55e8cac7ad2d4d99c01d9dd42fffe9fcd2eb09c21154352a4db3",
    "uncles": []
  }
}

指定したブロックハッシュとインデックスからuncleブロックを取得します。

params

必須 説明
string ブロックハッシュ
string uncleインデックス

result

説明
object ブロックオブジェクト。存在しない場合は null

eth_getUncleByBlockNumberAndIndex

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getUncleByBlockNumberAndIndex",
            "id": 1,
            "params": [
              "0x4f4387",
              "0x1"
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "difficulty": "0xb32a9b416c0b1",
    "extraData": "0x6e616e6f706f6f6c2e6f7267",
    "gasLimit": "0x7a121d",
    "gasUsed": "0x43f8b3",
    "hash": "0x657780948b9241f1f731a0e9b5e2577e2348ca7bcccc063c1f5620c3c14fc45f",
    "logsBloom": "0x00220080000080002001000000000000000000000100000101000240180080000c0200000000000010040020000002000000400080000000000000900048000000000000480000000080000a00040000000000000000000008000010000000000c00000800021400004000000080080802000000000000000000001000400204004100001004028000400000010000000000000000000200000028000000041000000000020200000010000004008000040000200000000000401000002040000001000300000080020400000888000000c010000000040019000000000000010400001000000000040000000880008040000810001000000800020202000100",
    "miner": "0x52bc44d5378309ee2abf1539bf71de1b7d7be3b5",
    "mixHash": "0x741731b07ca14ce9a9e2b170bd94a2f5c6a36ccd1daa9493eedb9e6c6b2a261f",
    "nonce": "0xddd54d400c8126cb",
    "number": "0x4f4386",
    "parentHash": "0x0fd3a20ca8d2282f679d9c3276139f6738b9ec6b0f07deb748593e071edbd1d9",
    "receiptsRoot": "0x9b59e36b092f00f0a3f334d19ed25bf8ee6680f9a4afddc3b7ee709eb96403db",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x215",
    "stateRoot": "0x473de79d08133c04b4a3330297e42169b1275d2577b9a9ed0b76e943d704a68c",
    "timestamp": "0x5a9bd63f",
    "totalDifficulty": null,
    "transactionsRoot": "0x6e819170132f55e8cac7ad2d4d99c01d9dd42fffe9fcd2eb09c21154352a4db3",
    "uncles": []
  }
}

指定したブロックナンバーとインデックスからuncleブロックを取得します。

params

必須 説明
string ブロックナンバー
string uncleインデックス

result

説明
object ブロックオブジェクト。存在しない場合は null

eth_getLogs

リクエスト例:

curl -X "POST" "https://nodes.gincoapis.com/ethereum/mainnet/v1/API_KEY" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
            "jsonrpc": "2.0",
            "method": "eth_getLogs",
            "id": 1,
            "params": [
              {
                "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
                "blockhash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
                "topics": [
                  "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
                ]
              }
            ]
          }'

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "address": "0xd850942ef8811f2a866692a623011bde52a462c1",
      "blockHash": "0x7d5a4369273c723454ac137f48a4f142b097aa2779464e6505f1b1c5e37b5382",
      "blockNumber": "0x4c4b40",
      "data": "0x00000000000000000000000000000000000000000000009a41e07a74a99ec000",
      "logIndex": "0x0",
      "removed": false,
      "topics": [
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0x0000000000000000000000000681d8db095565fe8a346fa0277bffde9c0edbbf",
        "0x000000000000000000000000f53354a8dc35416d28ab2523589d1b44843e025c"
      ],
      "transactionHash": "0x696a35492b283624ccf4ae9438ae2d5d5e84a4a00798155b568d1eb52606d829",
      "transactionIndex": "0x1"
    }
  ]
}

指定したフィルターオブジェクトにマッチした全てのログを取得します。

params

必須 説明
object フィルターオブジェクト

result

説明
array ログオブジェクトの配列

Ethereum WebSocket

eth_newBlockFilter

リクエスト例:

{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":1}

レスポンス例:

{
  "jsonrpc":"2.0",
  "id":1,
  "result":"0xfe704947a3cd3ca12541458a4321c869"
}

新しいブロックが生成されたことを通知するために、フィルターを作成します。 状態が変化したかどうかを確認するには、eth_getFilterChangesを呼び出します。

params

無し

result

説明
string フィルターID

eth_newFilter

リクエスト例:

{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]}],"id":1}

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x779717975044a8ff47ef01fe12417e34"
}

状態が変化したことを通知するために、フィルターオブジェクトを作成します。 状態が変化したかどうかを確認するには、eth_getFilterChangesを呼び出します。

フィルターの指定に関する注意

トピックは順序に依存します。トピックが[A、B]のログを持つトランザクションは、次のトピックフィルターによって照合されます。

params

必須 説明
object フィルターオブジェクト

result

説明
string フィルターID

eth_newPendingTransactionFilter

リクエスト例:

{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":1}

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0xb6e3d833c758ee5ccfaf69defa1014b8"
}

新しい保留中のトランザクションが到着したことを通知するために、フィルターを作成します。 状態が変化したかどうかを確認するには、eth_getFilterChangesを呼び出します。

params

無し

result

説明
string フィルターID

eth_getFilterChanges

リクエスト例:

{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x779717975044a8ff47ef01fe12417e34"],"id":1}

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "address": "0x8e766f57f7d16ca50b4a0b90b88f6468a09b0439",
      "topics": [
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0x000000000000000000000000c5341278a92e2bd8203ab931c6780c15d367713f",
        "0x00000000000000000000000064ed0ecd77b74ed7fef52a191d1223830cc680b1"
      ],
      "data": "0x000000000000000000000000000000000000000000000075819c035188d50000",
      "blockNumber": "0x76a647",
      "transactionHash": "0x6baf33d5c2c4aac8324da4599b8bac45553fbbbcf57319eff271e9601e221ba5",
      "transactionIndex": "0x70",
      "blockHash": "0x2d9bd7a14784bd2b1bf30aea0fb3f8ca04e4c01c26cbe1116f9563522c79acd6",
      "logIndex": "0x77",
      "removed": false
    },
    {
      "address": "0xc4ef2b203ba462c7e52b8ff8c7115aafe96486d7",
      "topics": [
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0x0000000000000000000000003cb485c930765709b62f0727aa87e25a98b39d97",
        "0x00000000000000000000000091341a850b9131e4db37ee904a0a5b68caf914ff"
      ],
      "data": "0x0000000000000000000000000000000000000000000000000000000001201600",
      "blockNumber": "0x76a647",
      "transactionHash": "0xb39aae726371c014892296c89d8db533e568773542684d1b8ea111f143a1ee2b",
      "transactionIndex": "0x71",
      "blockHash": "0x2d9bd7a14784bd2b1bf30aea0fb3f8ca04e4c01c26cbe1116f9563522c79acd6",
      "logIndex": "0x78",
      "removed": false
    }
  ]
}

前回のリクエスト以降に発生したログの配列を返します。

params

必須 説明
string フィルターID

result

eth_newBlockFilterで作成されたフィルターの場合

説明
array ブロックハッシュの配列

eth_newPendingTransactionFilterで作成されたフィルターの場合

説明
array トランザクションハッシュの配列

eth_newFilterで作成されたフィルターの場合

説明
array ログオブジェクトの配列、前回のリクエスト以降変化がない場合は空の配列

eth_uninstallFilter

フィルターを削除します。

リクエスト例:

{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0x779717975044a8ff47ef01fe12417e34"],"id":1}

レスポンス例:

{
  "jsonrpc":"2.0",
  "id":1,
  "result":true
}

params

必須 説明
string フィルターID

result

説明
boolean フィルターのアンインストールの成否

eth_subscribe

リクエスト例:

{"id": 1, "method": "eth_subscribe", "params": ["newHeads", {"includeTransactions": true}]}

レスポンス例:

{"jsonrpc":"2.0","id":1,"result":"0xf17365919bc66dc7eac3a0da003e7b4f"}

サブスクリプション名を最初のパラメーターとして使用して、通常のRPC呼び出しで作成されます。 成功した場合はサブスクリプションを返します。

params

必須 説明
string サブスクリプション名
object オプション

newHeads

newHeads 例:

>> {"id": 1, "method": "eth_subscribe", "params": ["newHeads"]}
<< {"jsonrpc":"2.0","id":1,"result":"0xc740b2530d362d9d97103f77c06c9a94"}

<< {
  "jsonrpc": "2.0",
  "method": "eth_subscription",
  "params": {
    "subscription": "0xc740b2530d362d9d97103f77c06c9a94",
    "result": {
      "parentHash": "0x49e4536811cd9c2f5ec3acdf06e6eff00a108f0b10eeb5946152f13c25ae8efe",
      "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
      "miner": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
      "stateRoot": "0xaee5516769d1277a6464e6d7c95663d30d839713c50298d7e258d5cdb520b08c",
      "transactionsRoot": "0xd3c4bf5a7a0559352bc90225e6eaab51279491f561f42821640567e20bd15774",
      "receiptsRoot": "0x7f3affabad533541fb8650500e7dfdc08e44a3ab0c2e5529843b8c7b0c81269f",
      "logsBloom": "0x80400000800240080208100806221c02001002080800080862109020220104200308220000884041004024e012024108234006502280018108b2812070b40080000481a021040120400208088011008904022406c20400440002240201000401088a01408a014002114851400544680110883000080004000860619804a0040480024228080424040104040c8140f48041a00111410024020480104202000120068102008004000110002600205004201100080aa40a608048000090180104084004036390000108010000003e001004888a00461019490020000048014870890810200010000280100080008500200019b08880000200001004102c00820014",
      "difficulty": "0x75b043325cbf8",
      "number": "0x76a656",
      "gasLimit": "0x7a1e98",
      "gasUsed": "0x7a1b11",
      "timestamp": "0x5cde44f9",
      "extraData": "0x505059452d65746865726d696e652d6575312d34",
      "mixHash": "0xe285a1b3e09b6c751df07c8456ee6a366df9dd79a1ec45747afff3eb02ff87da",
      "nonce": "0xc8feb598052ac19a",
      "hash": "0xf4687bbe9d1a1b2786f34b684c397a757f6896f4b96f5c494ab70d473ed93d7c"
    }
  }
}

チェーンのreorgを含め、新しいヘッダーがチェーンに追加されるたびに通知を発行します。 ブルームフィルターを使用して、必要なログがブロックに含まれているかどうかを判断できます。

チェーンが再編成された場合、サブスクリプションは新しいチェーン用のすべての新しいヘッダーを発行します。 そのため、サブスクリプションは同じブロック高に複数のヘッダーを発行できます。

オプション

無し

logs

logs 例:

>> {"id": 1, "method": "eth_subscribe", "params": ["logs", {"address": "0x8320fe7702b96808f7bbc0d4a888ed1468216cfd", "topics": ["0xd78a0cb8bb633d06981248b816e7bd33c2a35a6089241d099fa519e361cab902"]}]}
<< {"jsonrpc":"2.0","id":1,"result":"0x6ffd944960311ba3cee4723508f9944c"}

<< {
  "jsonrpc": "2.0",
  "method": "eth_subscription",
  "params": {
    "subscription": "0x6ffd944960311ba3cee4723508f9944c",
    "result": {
      "address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
      "topics": [
        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
      ],
      "data": "0x000000000000000000000000b1690c08e213a35ed9bab7b318de14420fb57d8c000000000000000000000000aaa13ad94f8489dcb399c33f9cbec49c3a22a060000000000000000000000000000000000000000000000000000000000015621b",
      "blockNumber": "0x76a65c",
      "transactionHash": "0x6ca6109c5836a47b0437010b521dd332f00a6923e79f67eb374bbac8eae95052",
      "transactionIndex": "0x55",
      "blockHash": "0x13f7d01f2aa5255dccc02d1fdf4a3d882cb3984f72463679e284a58849d051ba",
      "logIndex": "0x2b",
      "removed": false
    }
  }
}

新しくインポートされたブロックに含まれていて、指定されたフィルター条件に一致するログを返します。

チェーンの再編成の場合、古いチェーン上にある前に送信されたログは、removedプロパティーをtrueに設定して再送されます。 新しいチェーンになったトランザクションからのログが発行されます。 そのため、サブスクリプションは同じトランザクションのログを複数回発行することがあります。

オプション

必須 説明
string アドレスまたはアドレスの配列、これらのアドレスから作成されたログのみが返されます
array トピック、指定されたトピックと一致するログのみが返されます

newPendingTransactions

newPendingTransactions 例:

>> {"id": 1, "method": "eth_subscribe", "params": ["newPendingTransactions"]}
<< {"jsonrpc":"2.0","id":1,"result":"0x39ad93e3fc9ca45c19af18588cd537ff"}

<< {
  "jsonrpc": "2.0",
  "method": "eth_subscription",
  "params": {
    "subscription": "0x39ad93e3fc9ca45c19af18588cd537ff",
    "result": "0x881e6847b63bc4104939616de9e487d803dd929627114240cd21b652656d33d1"
  }
}

すべての保留中のトランザクションのハッシュを返します。

以前に正規チェーンの一部であったトランザクションが、reorg後に新しい正規チェーンの一部ではなくなった場合、再度発行されます。

オプション

無し

syncing

syncing 例:

>> {"id": 1, "method": "eth_subscribe", "params": ["syncing"]}
<< {"jsonrpc":"2.0","id":2,"result":"0xe2ffeb2703bcf602d42922385829ce96"}

<< {
  "subscription": "0xe2ffeb2703bcf602d42922385829ce96",
  "result": {
    "syncing": true,
    "status": {
      "startingBlock": 674427,
      "currentBlock": 67400,
      "highestBlock": 674432,
      "pulledStates": 0,
      "knownStates": 0
    }
  }
}

ノードの同期状況を取得します。 結果は、同期が開始したこと(true)、終了したこと(false)を示すブール値、またはさまざまな進行状況インジケーターを持つオブジェクトになります。

オプション

無し

result

説明
string サブスクリプションID

eth_unsubscribe

サブスクリプションを中止します。

リクエスト例:

{"jsonrpc":"2.0", "id": 1, "method": "eth_unsubscribe", "params": ["0x864ce0d407b875dfb195b0b02a05c865"]}

レスポンス例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

params

必須 説明
string サブスクリプションID

result

説明
boolean サブスクリプション中止の成否