Subscan APIを使用して取引履歴を取得してクリプタクトのカスタムファイルフォーマットでcsvファイル保存するソースコード
- クリプタクトの暗号資産の損益計算サービスを利用し、データをクリプタクトのカスタムファイルのフォーマットで作成している
- Subscanでデータを取得している
- Subscan APIのAPI Keysを取得済みであること
- 取得するデータは
reward-slash
を対象とし、コマンドラインから読込み件数(正の数)を入力する - 取得するデータPythonのRequestsモジュールを使用して、Subscan APIドキュメントに従い設定したAPI Endpoint情報でHTTPのPOSTメソッドで送信し、Responseオブジェクトの
status_code
がHTTP Status Codes: 200
の場合に受信したデータをJSONオブジェクトとして保存する HTTP Status Codes: 200
以外の値の場合はstatus_code
を表示し、プログラムを終了する- 取得したデータはカスタムファイルのフォーマット仕様で整形し、指定したパスにcsvファイルとして保存する
- ファイルの書き出し方法として新規作成と既存ファイルに追記する2つのケースに対応し、それぞれソースコードを作成する
- Subscanの仕様やクリプタクトのデータフォーマットは変わることがありますので、利用する際は自己責任でお願いします
- データのチェックとして重複は考慮していますが、不足しているデータのチェックまではしていません
- Subscan APIで動作確認したNetworkはPolkadotのみ確認しています
- 特に作成したcsvファイルのデータについては目的のデータを作成できていること、 トランザクションデータを参照して、差異がないことや誤りがないことも確認してください
- requestsモジュールとnumpyモジュールをインストール
pip install requests
pip install numpy
- API Host:
API_HOST
- Request URL:
REQUEST_URL
- API Key:
API_KEY
- Address:
ADDRESS
- File Path:
PATH
- File Name:
FILE_NAME
カスタムファイルのフォーマットに従い作成してください
- ステーキング報酬計算用定数:
ADJUST_VALUE
※ Subscanや各種walletの取引履歴と差異がある場合は修正してください - ヘッダー情報(リスト):
HEADER
- データ固定値:
ACTION
,SOURCE
,BASE
,PRICE
,COUNTER
,FEE
,FEECCY
※ 空データの場合はNaN
を指定してください
python getSubscanStakingRewardsInputNewCreateCsvData.py
python getSubscanStakingRewardsInputAddCsvData.py
- 以下のメッセージ表示後、正の数で件数を入力してください
- ステーキング報酬量は直近のデータから入力された件数分取得します
-- Input Num:
- 取得件数の入力処理
- データはSubscan APIドキュメントに従い設定したAPI Endpoint情報でHTTP POSTし、Responseが
HTTP Status Codes: 200
の場合に受信したデータをJSON形式で抽出処理を実行します HTTP Status Codes: 200
以外の値の場合はHTTPステータスコードを表示し、プログラムを終了します- csvファイル保存処理(ファイルパス表示)
- 設定したパス、ファイル名、日付でcsvファイルを作成します
- ファイルが存在する場合は上書き保存します
- ファイルが存在する場合は追記処理をします
- データに重複がある場合は完全一致のデータを参照し、重複行を削除します