Ether

獲取地址的餘額歷史記錄

  • August 28, 2021

在建構 IONIC 應用程序時,我試圖檢索單個乙太坊地址的歷史餘額。我目前不確定我需要走多遠。我知道 Etherscan.IO 在https://etherscan.io/balancecheck-tool提供了一個網路工具來獲取某個日期的餘額,但是我找不到任何允許我以程式方式執行此操作的 API。我也無法在我目前的項目中安裝 web3。任何建議將不勝感激。

如果你觀察餘額檢查工具,你可以看到有兩個選項

  1. 日期
  2. 塊號

如果知道區塊號,可以使用以下函式獲取歷史餘額

web3.eth.getBalance(address, blockNumber).then(balance => `Balance at block number is ${balance}

如果您不知道塊號,但想按日期/時間獲取。您首先需要找到在此期間開采的區塊。

let blockNum = web3.eth.blockNumber;
const historicTimestamp = new Date(historicDate).getTime();
while(true) {
 const block = web3.eth.getBlock(blockNum);
 if(block.timestamp < historicTimestamp) break;
 --blockNum;
}

//The blockNumber here is your required block number
web3.eth.getBalance(address, blockNumber).then(balance => `Balance at block number is ${balance}`);

引用自:https://ethereum.stackexchange.com/questions/40266