9

你好,请问一下怎么获取一个token或者一个配对地址的代币转移记录

 2 years ago
source link: https://learnblockchain.cn/question/2216
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

最佳答案 3天前

这里刚好有一个类似的问题:
ERC20 Tokens Transferred Information from Transaction Hash

搬运一下:

使用 eth_getTransactionReceipt
对于交易0x3265c1461d3f167c756fbc062ae3a2dc279b44a9c3ca2194271d4251cd0c1655 可以请求到这样的信息:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockHash": "0xc5e5a515898983d1370d40b03fc05ae08be861af746a1577796153a149a1bb20",
    "blockNumber": "0x5ff5dd",
    "contractAddress": null,
    "cumulativeGasUsed": "0xe85fb",
    "from": "0xd7afd4441fccc118b9207b0e136f4ef9319b3c79",
    "gasUsed": "0x9034",
    "logs": [
      {
        "address": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "0x000000000000000000000000d7afd4441fccc118b9207b0e136f4ef9319b3c79",
          "0x00000000000000000000000069d9e9aff57ec73582ad1ce441726dba7ea78fe0"
        ],
        "data": "0x0000000000000000000000000000000000000000000001054aefee8ba6d00000",
        "blockNumber": "0x5ff5dd",
        "transactionHash": "0x3265c1461d3f167c756fbc062ae3a2dc279b44a9c3ca2194271d4251cd0c1655",
        "transactionIndex": "0x1b",
        "blockHash": "0xc5e5a515898983d1370d40b03fc05ae08be861af746a1577796153a149a1bb20",
        "logIndex": "0xa",
        "removed": false
      }
    ],
    "logsBloom": "0x04000000002000000200000000000000002000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000008000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000200010000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "status": "0x1",
    "to": "0x0d8775f648430679a709e98d2b0cb6250d2887ef",
    "transactionHash": "0x3265c1461d3f167c756fbc062ae3a2dc279b44a9c3ca2194271d4251cd0c1655",
    "transactionIndex": "0x1b"
  }
}

主要是看 log 部分:
ERC20 的 Transfer(address from, address to, uint256 value) 事件,其 keccak hash 是 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef ,它是事件的

接下来分别是 fromto (32 直接表示). data 则是转账的数量。

触发时间的 address0x0d8775f648430679a709e98d2b0cb6250d2887ef 是合约地址。
我们可以通过合约地址读取到相关的symbol, name, and decimals


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK