0

トークン所有者の金額履歴を分析するためのチャート図を作成したいと思います。たとえば、次のようになります。

holders amount

  ▲
  │              ┌─────
  │              │
  │              │
  │              │
  │       ┌──────┘
  │       │
  │       │
  │ ┌─────┘
  │ │
  │ │
  └─┴───────────────────►  date

X 軸は日付、Y 軸は所有者数です。上のグラフは、所有者数が日付とともに増加していることを意味します。

ただし、問題は、過去の日付の保有者の金額を取得できないことです。イーサスキャンは、リアルタイムの保有者の金額しか提供しません。

4

1 に答える 1

0

Transfer()イベント ログから、時間内のトークン ホルダーの合計量を計算できます。

たとえば、getPastLogs() web3 関数を使用して、履歴イベント ログを収集します。

  • fromトークン コントラクトがデプロイされたときのブロック

  • to最新の(現在の)ブロックまたはニーズに合ったもの

  • addressこれらのイベント ログを発行するトークン コントラクトの

  • topics一部のイベントのみ、または特定の値を含むイベントのみをフィルタリングするのに役立ちます

    たとえば、あなたの場合、Transfer(address,address,uint256)イベントはアイテムの値ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef(イベント署名の keccak-256 ハッシュ) になりtopics[0]ます。そのため、承認やその他のイベントではなく、このイベントのログのみをフィルタリングすることを選択できます。

于 2021-09-01T18:42:05.517 に答える