开发者平台
主题

根据地址和 Topic 获取事件日志#

查询指定合约地址下匹配指定事件签名(topic0)的事件日志,按游标(cursor)翻页返回。本接口仅支持 EVM 系公链。

游标为扫描式游标:服务端每次请求扫描该地址日志流中固定数量的日志并按 topic0 过滤(保证单次请求耗时有界),因此单页返回的命中条数可能少于 limit,甚至为 0;只要 cursor 非空即表示还有未扫描的数据,客户端须以返回的 cursor 继续翻页,直至 cursor 为空串。

支持的链:见获取事件日志 API 支持的链apiNameby-address-and-topic)。

请求地址#

GET
https://web3.okx.com/api/v6/explorer/log/by-address-and-topic

请求参数#

参数名类型是否必填描述
chainIndexString链唯一标识,如 ETH 为 1、BTC 为 0;支持范围见获取事件日志 API 支持的链
addressString合约地址
topic0String事件签名哈希(topic0),如 ERC-20 Transfer 事件为 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
cursorString上次响应返回的扫描游标;不传或传空串从最新日志开始扫描
limitString每页最多返回的命中条数,默认 100,最大 1000(扫描式游标下单页实际返回可能少于该值)

响应参数#

参数名类型描述
limitString本页条数上限
cursorString下一页游标;空串表示没有更多。请求时原样回传,客户端不应解析或构造
logListArray事件日志列表
> heightString区块高度
> addressString产生该事件日志的合约地址
> topicsArraytopic 列表,元素为 String
> dataString事件日志的 data 数据,十六进制字符串
> methodIdStringmethodId,触发该日志的方法标识
> blockHashString区块哈希
> transactionTimeString交易时间,Unix 时间戳的毫秒数格式
> logIndexString日志 index
> txIdString交易哈希

请求示例#

shell
curl --location --request GET 'https://web3.okx.com/api/v6/explorer/log/by-address-and-topic?chainIndex=1&address=0xdac17f958d2ee523a2206206994597c13d831ec7&topic0=0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'

响应示例#

json
{
    "code": "0",
    "msg": "",
    "data": [
        {
            "limit": "100",
            "cursor": "100",
            "logList": [
                {
                    "height": "21283946",
                    "address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
                    "topics": [
                        "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                        "0x000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40",
                        "0x00000000000000000000000028c6c06298d514db089934071355e5743bf21d60"
                    ],
                    "data": "0x000000000000000000000000000000000000000000000000000000174876e800",
                    "methodId": "0xa9059cbb",
                    "blockHash": "0x9b2e4c6a8d0f31f3c5a0d9e7b2c4a6d8f0b1c3e5a7d9f2b4c6e8a0d1f3b5c7e9",
                    "transactionTime": "1733196827000",
                    "logIndex": "87",
                    "txId": "0x3a5f70d2b8e6c4a1f9d3b5e7c0a2d4f6b8e1c3a5d7f9b2e4c6a8d0f37d4b1e9c"
                }
            ]
        }
    ]
}