LoginSignup
2
1

BinanceのEthereum上でのUSDT出金を全部追う

Posted at

趣旨

EtherScanが便利なことを発見し、これを応用すると面白そうなものができると直感的に感じたので忘れないうちにメモしておきます。

以下のコードの中身はドキュメントにあったBinanceからのUSDT出金を追うためのものです。特にパラメータはいじっていませんので、以下の解説がわかりづらい場合はドキュメントを直接参照するのがよいかと思います。

コマンドラインによる操作

APIはHTTPSリクエストで通信しているだけなのでパラメーターにAPIキーをセットすればcurlでも同じ結果が得られます。コードを書くのが面倒な方はとりあえずcurlで実際に受け取れるデータを確認してもよいかと思います。

curl "https://api.etherscan.io/api?module=account&action=tokentx&contractaddress=0xdac17f958d2ee523a2206206994597c13d831ec7&address=0xdfd5293d8e347dfe59e90efd55b2956a1343963d&page=1&offset=100&startblock=0&endblock=99999999&sort=desc&apikey=yourapikey"

Pythonによる操作

PythonにてAPI通信をするときはrequestsライブラリを使えば即コードができあがるので便利です。コマンドラインからsubprocessを利用する方法などもありますけど、多分requestsのためのコードを直接書いたほうが直感的でわかりやすいです。

import requests
from pprint import pprint

url = "https://api.etherscan.io/api"
params = {
    "module": "account",
    "action": "tokentx",
    "contractaddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
    "address": "0xdfd5293d8e347dfe59e90efd55b2956a1343963d",
    "page": 1,
    "offset": 100,
    "startblock": 0,
    "endblock": 99999999,
    "sort": "desc",
    "apikey": "YourActualApiKey"
}

response = requests.get(url, params=params)
data = response.json()
pprint(data)

EtherScanのドキュメント

ドキュメントを見れば他にもいろいろ応用に使えそうなのがいっぱいあるのでぜひ覗いてみてください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1