可以通过查看合约历史交易记录来确定合约余额被哪些交易耗尽。以下是JavaScript示例代码:
web3.eth.getTransactionCount(contractAddress)
.then(function(count){
for(var i=0; i<count; i++) {
web3.eth.getTransactionFromBlock(i, function(error, tx){
if(tx.to === contractAddress && tx.value > 0)
console.log("Transaction "+tx.hash+" spent "+tx.value+" wei from contract balance");
});
}
});
该代码将遍历合约交易历史记录,查找所有发送到合约地址且金额大于零的交易,从而确定合约余额被耗尽的原因。