JSON-RPC方法
eth_sendRawTransaction
RPC的eth_sendRawTransaction 兼容原生的JSON-RPC方法,无需进行额外修改。如需修改交易披露、返利地址和revert保护等参数,可前往控制台配置专属RPC。
請求參數
| 參數 | 必選 | 格式 | 示例 | 備註 |
|---|---|---|---|---|
| - | 是 | bytes | "0xd46e……445675" | raw tx |
請求示例
curl -X POST -H "Content-Type: application/json" --data '{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": [
"0xd46e……445675"
]
}' https://bsc.blockrazor.xyz
返回示例
正常
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670……527331"
}
異常
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32000,
"message": "rlp: element is larger than containing list"
}
}
eth_sendMevBundle
RPC支持發送Bundle,詳見Bundle
scutum_queryTxProcessStatus
用於實時查詢BlockRazor RPC對於交易的處理狀態,目前支持查询BSC交易。
请求示例
curl -X POST -H "Content-Type: application/json" --data '{
"id": 1,
"jsonrpc": "2.0",
"method": "scutum_queryTxProcessStatus",
"params": ["0xf84a……e54284"]
}'<ETH_NODE_URL>
返回示例
正常
{
"jsonrpc": "2.0",
"result": "{"msg\":\"tx is included on chain\",\"status\":\"included\"}",
"id": "1"
} // 交易已經在鏈上執行
{
"jsonrpc": "2.0",
"result": "{"msg\":\"tx is expired and discarded\",\"status\":\"expired\"}",
"id": "1"
} // 交易由於已過期被廢棄(交易發出時的區塊高度+100小於最新區塊高度)
{
"jsonrpc": "2.0",
"result": "{"msg\":\"nonce too high\",\"status\":\"pending\"}",
"id": "1"
} // Scutum正在處理該筆交易,交易由於nonce過高被放入隊列中
{
"jsonrpc": "2.0",
"result": "{"msg\":\"tx is pending\",\"status\":\"pending\"}",
"id": "1"
} // Scutum正在處理該筆交易
{
"jsonrpc": "2.0",
"result": "{"msg\":\"simulation error: xxxxxxx\",\"status\":\"failed\"}",
"id": "1"
} // 由於計算失敗,Scutum無法處理該筆交易
異常
{
"jsonrpc": "2.0",
"error": "{\"code\":-32000,\"message\":\"tx not found\"}",
"id": "1"
} //交易未發往Scutum或者已超過Scutum處理時限
其他JSON-RPC方法
RPC支持BSC節點原生的JSON-RPC方法,可參考https://ethereum.org/zh/developers/docs/apis/json-rpc/#json-rpc-methods