はじめに
Oasysの提供しているAPIの翻訳になります。
精度はあしからず。
APIドキュメント
[ Base URL: https://scan.oasys.games/api ]
このAPIは、EtherscanからBlockScoutへアプリケーションを移行する開発者向けに提供されています。GETとPOSTリクエストに対応しています。
- Account(アカウント)
?module=account
- Logs(ログ)
?module=logs
- Token(トークン)
?module=token
- Stats(ステータス)
?module=stats
- Block(ブロック)
?module=block
- Contract(コントラクト)
?module=contract
- Transaction(トランザクション)
?module=transaction
Account ?module=account
eth_get_balance
Ethereum JSON RPC の eth_getBalance を模倣。
指定したブロックの残高を返します (デフォルトは最新)
?module=account&action=eth_get_balance&address={addressHash}
balance
アドレスの残高を取得します。
GraphQL の 'addresses' クエリでも取得可能。残高が長い間更新されていない場合、ノードにダブルチェックして絶対的に最新の残高を取得します。
これは現在のリクエストには反映されませんが、一度更新されると、それ以降のリクエストでは更新された残高が表示されます。
別の残高をチェックしているかどうかを知りたい場合は、balancemulti
アクションを使います。
このアクションには stale
というプロパティがあり、近い将来に残高を再チェックすることを知らせてくれます。
?module=account&action=balance&address={addressHash}
balancemulti
複数のアドレスの残高を取得します。
GraphQLの'addresss'クエリでも取得可能。
残高が長い間更新されていない場合、ノードにダブルチェックを行い、絶対的に最新の残高を取得します。
これは現在のリクエストには反映されませんが、いったん更新されると、それ以降のリクエストでは更新された残高が表示されます。
この処理は stale
属性によって行われ、新しい残高が取得されると true
に設定されます。
?module=account&action=balancemulti&address={addressHash1,addressHash2,addressHash3}
pendingtxlist
保留中のトランザクションをアドレス別に取得する。
?module=account&action=pendingtxlist&address={addressHash}
txlist
住所から取引を取得。最大10,000件まで。GraphQL 'address'クエリでも利用可能。
?module=account&action=txlist&address={addressHash}
txlistinternal
トランザクションまたはアドレス・ハッシュで内部トランザクションを取得。内部トランザクションは最大10,000件まで。GraphQL 'transaction'クエリでも利用可能。
?module=account&action=txlistinternal&txhash={transactionHash}
tokentx
アドレス別にトークン移転イベントを取得。最大10,000件のトークン転送イベントを取得可能。GraphQLの'token_transfers'クエリでも取得可能。
?module=account&action=tokentx&address={addressHash}
tokenbalance
トークン契約アドレスのトークン口座残高を取得します。
?module=account&action=tokenbalance&contractaddress={contractAddressHash}&address={addressHash}
tokenlist
アドレスが所有するトークンのリストを取得します。
?module=account&action=tokenlist&address={addressHash}
getminedblocks
アドレスごとに採掘されたブロックのリストを取得する。
?module=account&action=getminedblocks&address={addressHash}
listaccounts
口座とその残高のリストを取得し、エクスプローラーが最初に確認した時刻で昇順に並べ替えます。
?module=account&action=listaccounts
Logs
getLogs
アドレスおよび/またはトピックのイベントログを取得します。最大1,000件のイベントログを取得できます。
?module=logs&action=getLogs&fromBlock={blockNumber}&toBlock={blockNumber}&address={addressHash}&topic0={firstTopic}
Token
getToken
契約アドレスからERC-20またはERC-721トークンを取得します。
?module=token&action=getToken&contractaddress={contractAddressHash}
getTokenHolders
契約アドレスからトークン保有者を取得する。
?module=token&action=getTokenHolders&contractaddress={contractAddressHash}
Stats
tokensupply
ERC-20またはERC-721トークンの総供給量を契約アドレス別に取得します。
?module=stats&action=tokensupply&contractaddress={contractAddressHash}
ethsupplyexchange
取引所からWeiの総供給量を入手する。
?module=stats&action=ethsupplyexchange
ethsupply
DBからWeiの総供給量を入手する。
?module=stats&action=ethsupply
coinsupply
DBからコインの総供給量から燃焼数を差し引いた値を取得する。
?module=stats&action=coinsupply
coinprice
ネイティブコインの最新価格をUSDとBTCで入手。
?module=stats&action=coinprice
totalfees
1日に利用者がバリデーターに支払う取引手数料の合計をWeiで取得する。
?module=stats&action=totalfees&date={date}
Block
getblockreward
ブロック番号でブロック報酬を取得する。
?module=block&action=getblockreward&blockno={blockNumber}
getblocknobytime
タイムスタンプでブロック番号を取得する。
?module=block&action=getblocknobytime×tamp={blockTimestamp}&closest={before/after}
eth_block_number
イーサリアムJSON RPCのeth_blockNumberを模倣。最新のブロック番号を返す
?module=block&action=eth_block_number
Contract
listcontracts
コントラクトの一覧を取得し、エクスプローラで最初に表示された時刻で昇順にソートします。
フィルタに not_decompiled
(4
) または not_verified(4)
を指定した場合は、パフォーマンス上の理由からソートされません。
?module=contract&action=listcontracts
getabi
検証済みの契約のABIを取得する。GraphQL の 'addresses' クエリでも取得可能。
?module=contract&action=getabi&address={addressHash}
getsourcecode
検証済みの契約のソースコードを取得します。GraphQLの「アドレス」クエリでも利用可能。
?module=contract&action=getsourcecode&address={addressHash}
verify
ソースコードと契約作成情報で契約を検証する。
?module=contract&action=verify&addressHash={addressHash}&name={name}&compilerVersion={compilerVersion}&optimization={false}&contractSourceCode={contractSourceCode}
verify_via_sourcify
Sourcifyでコントラクトを検証する。
a) スマートコントラクトが既にSourcifyで検証されている場合、自動的にリポジトリからデータを取得します。
b) そうでない場合は、ソースファイルとJSONメタデータファイルをアップロードする必要があります。
?module=contract&action=verify_via_sourcify&addressHash={addressHash}
verify_vyper_contract
ソースコードとコントラクト作成情報でvyperコントラクトを検証する。
?module=contract&action=verify_vyper_contract&addressHash={addressHash}&name={name}&compilerVersion={compilerVersion}&contractSourceCode={contractSourceCode}
verifysourcecode
標準入力JSONファイルでコントラクトを検証する。そのインターフェイスは Etherscan の API エンドポイントと同じです。
?module=contract&action=verifysourcecode&codeformat={solidity-standard-json-input}&contractaddress={contractaddress}&contractname={contractname}&compilerversion={compilerversion}&sourceCode={sourceCode}
checkverifystatus
検証試行のステータスを返す(verifysourcecode メソッドに加えて機能する)
?module=contract&action=checkverifystatus&guid={identifierString}
Transaction
gettxinfo
取引情報を取得する。
?module=transaction&action=gettxinfo&txhash={transactionHash}
gettxreceiptstatus
トランザクションの受領ステータスを取得する。GraphQL の 'transaction' クエリでも取得できます。
?module=transaction&action=gettxreceiptstatus&txhash={transactionHash}
getstatus
エラーステータスとエラーメッセージを取得します。GraphQL 'transaction'クエリでも利用可能。
?module=transaction&action=getstatus&txhash={transactionHash}
最後に
お役に立てれば幸いです。
気が向いたら、Requestの方も解説を書こうかと思います。