You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复NodeReal.io中RPC错误:fromBlock必须小于toBlock

解决nr_getAssetTransfers接口toBlock设为"latest"的报错问题

问题场景

调用NodeReal BSC主网的nr_getAssetTransfers接口获取交易列表时,当toBlock设为具体十六进制块号(如hex(20000))时请求正常,但将toBlock改为"latest"后,触发报错:

RPC: invalid fromBlock and toBlock param: from must be less than to

报错原因

接口对块号参数的格式校验逻辑要求:当toBlock使用"latest"这类语义化块标识符时,fromBlock的十六进制数值字符串格式无法被正确解析并与latest做大小比较,导致校验失败。

解决方案

提供两种可行的解决方式:

方式一:动态获取最新块号并转为十六进制格式

先调用eth_blockNumber接口获取当前链上最新块号的十六进制值,再将其赋值给toBlock,保持与fromBlock的格式一致:

import requests
import json

BASE_URL = "https://bsc-mainnet.nodereal.io/v1/" + NOD_KEY
headers = {"Content-Type": "application/json"}        

# 1. 获取最新块号的十六进制值
latest_block_req = {
    "jsonrpc": "2.0",
    "method": "eth_blockNumber",
    "params": [],
    "id": 1
}
latest_block_res = requests.post(BASE_URL, headers=headers, data=json.dumps(latest_block_req))
latest_block_hex = latest_block_res.json()["result"]

# 2. 构造交易列表请求
MAX_COUNT = 10
from_block = 10   

payload = {
    "jsonrpc": "2.0",
    "method": "nr_getAssetTransfers",
    "params": [{
        "category": ["external", "20"],
        "toAddress": u_w,
        "withMetadata": False,
        "maxCount": hex(MAX_COUNT),
        "fromBlock": hex(from_block),
        "toBlock": latest_block_hex,
        "sort": "desc",
    }],
    "id": 1
}

response = requests.post(BASE_URL, headers=headers, data=json.dumps(payload))

方式二:统一fromBlock为十进制字符串格式

将fromBlock从十六进制数值字符串(hex(from_block))改为十进制字符串格式,让接口能正确解析并与"latest"比较大小:

payload = {
    "jsonrpc": "2.0",
    "method": "nr_getAssetTransfers",
    "params": [{
        "category": ["external", "20"],
        "toAddress": u_w,
        "withMetadata": False,
        "maxCount": hex(MAX_COUNT),
        "fromBlock": "10",  # 使用十进制字符串替代十六进制
        "toBlock": "latest",
        "sort": "desc",
    }],
    "id": 1
}

内容的提问来源于stack exchange,提问作者ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 21:19:56