traceBlocks
Available on Cloud API
Note: This stream is only available for BSC-Mainnet and is only available through cloud API WS
Name: traceBlocks
traceBlocks is a stream of all new blocks as they are propagated in the BDN, with statediffs and emitted logs for each transaction inside the block, traced on the resultant state from the preceding transaction.
Options
Key
Description
Values
include
Fields to include in the block stream.
hash,header,transactions,future_validator_info,withdrawals
[Default: all] future_validator_info contains validator addresses for future blocks and indicates whether the validators are connected to the BDN (currently only supported in BSC)
Examples (Websocket)
Cloud-API
wscat -c wss://mev.api.blxrbdn.com/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["traceBlocks", {"include": [], "blockchain_network": "BSC-Mainnet"}]}
< ......var fs = require('fs');
const WebSocket = require('ws');
const ws = new WebSocket(
'wss://mev.api.blxrbdn.com/ws',
{
headers: {
"Authorization" : <YOUR-AUTHORIZATION-HEADER>
},
// Add the following line if you work with IP instead of DNS
// rejectUnauthorized: false,
}
);
function proceed() {
ws.send(`{"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["traceBlocks", {"include": [], "blockchain_network": "BSC-Mainnet"}]}`);
}
function handle(nextNotification) {
console.log(nextNotification.toString()); // or process it generally
}
ws.on('open', proceed);
ws.on('message', handle);# Python version 3.7 or higher required
import asyncio, json, websockets
async def main():
try:
# Enterprise users and above
uri = "wss://mev.api.blxrbdn.com/ws"
auth_key = "YOUR_AUTHORIZATION_HEADER"
async with websockets.connect(
uri,
header=["Authorization:{}".format(auth_key)],
# Add the following line if you work with IP instead of DNS
# sslopt={"cert_reqs": ssl.CERT_NONE}
) as websocket:
subscription_request = json.dumps({
"jsonrpc": "2.0",
"method": "subscribe",
"params": ["traceBlocks", {"include": [], "blockchain_network": "BSC-Mainnet"}],
"id": 1,
})
await websocket.send(subscription_request)
while True:
response = await websocket.recv()
print(response) # or process it generally
except Exception as e:
print(f'Connection failed, Reason: {e}')
if __name__ == '__main__':
asyncio.run(main())package main
import (
"crypto/tls"
"fmt"
"github.com/gorilla/websocket"
"net/http"
)
func main() {
dialer := websocket.DefaultDialer
// Add the following lines if you work with IP instead of DNS
// tlsConfig := &tls.Config{
// Certificates: []tls.Certificate{cert},
// InsecureSkipVerify: true,
// }
// dialer.TLSClientConfig = tlsConfig
wsSubscriber, _, err := dialer.Dial("wss://mev.api.blxrbdn.com/ws", http.Header{"Authorization": []string{<YOUR-AUTHORIZATION-HEADER>}})
if err != nil {
fmt.Println(err)
return
}
subRequest := `{"id": 1, "method": "subscribe", "params": ["traceBlocks", {"include": [], "blockchain_network": "BSC-Mainnet"}]}`
err = wsSubscriber.WriteMessage(websocket.TextMessage, []byte(subRequest))
if err != nil {
fmt.Println(err)
return
}
for {
_, nextNotification, err := wsSubscriber.ReadMessage()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(nextNotification)) // or process it generally
}
}
Response (Block Event)
<<< {
"jsonrpc": "2.0",
"id": null,
"method": "subscribe",
"params": {
"subscription": "213883fe-b3e2-4da2-b9ba-196a82df8628",
"result": {
"hash": "0x079b7f1b5a68d4301cf97df2f81c406aa598dd508e2d1908974b95ddd61a4156",
"header": {
"parentHash": "0xafef6c6bd1049febe85834aa84735f81f2e81efd55d85a1076aae0adceba16de",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"miner": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
"stateRoot": "0x13f4a37eb7d0ca8ea309a631e51cca86eaa1b9765a2e6a9eb1614ddcf4ea57e4",
"transactionsRoot": "0x33d0f3c1ce4e3be6346738465cafc727f3500990c881d6fe4821567504badfd5",
"receiptsRoot": "0xad4fe2b36823a0b57f1c640d115eacc8cc1e64c73e49f89a131f206457afbf9f",
"logsBloom": "0x3862455e6027e5863992de359e89bd33e91312891441903f715503c922420904c00e77b054483930423b7a0b5aa4433342b5c096fb3a0883a970d882b9ac02104582cab5eb046e62c9ca17acba8268e25c103107216cec48bc432d78b54927991c5147080a5781c028102040a28ab8d016439e6f8a4804b44c15c3fa85873c204ab8938d450f702ec2444f5a83028586683439ff6de3e57be46c295514527dbcc717f08804c1ac022fcccac7c058d447122e109294a38c3b1a2a676c9814c6913200414e638eb046ed244035875a0c2e446132bd450223952a9bbcd694666884a03db1340b8010dfaae464948a9b4ae524ff8a942258445c73ce176bee981b7d",
"difficulty": "0xc39780fb04af3",
"number": "0xab05c3",
"gasLimit": "0xbdfca5",
"gasUsed": "0xbdb8e3",
"timestamp": "0x5fa62290",
"extraData": "0x65746865726d696e652d6575312d36",
"mixHash": "0x3cd96f6536c1cc745ce9a4f767d65a94b64392bc787e029e7c16339641265b0a",
"nonce": "0x327b58b8b7216cf5",
"blobGasUsed": "0xa0000",
"excessBlobGas": "0x4b40000",
"parentBeaconBlockRoot": "0x14e886e6...908fe06ba3c"
},
"future_validator_info": [
{
"block_height": 22460216,
"wallet_id": "0x295e26495cef6f69dfa69911d9d8e4f3bbadb89b",
"accessible": true
},
{
"block_height": 22460217,
"wallet_id": "0x2d4c407bbe49438ed859fe965b140dcf1aab71a9",
"accessible": false
}
],
"transactions": [
{
"from": "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
"gas": "0xc350",
"gasPrice": "0x3b9aca00",
"hash": "0x587a2db59d1af16aa03521a711c3db5b443e5d05cfc72eccadb89c99380f7da0",
"input": "0x",
"nonce": "0x1b8a09b",
"value": "0x54fbe53cd2d1338",
"v": "0x25",
"r": "0x41f3261e25a3e77abd4b0bd4f21cfc2d92ca2d52ff9c663c9a68c6a382115dac",
"s": "0x4350bb6f770bb3363094774fe36478b20013c705f4041fc1bcd0f9fe520c9a23",
"to": "0x190aab185dbf089b1c5cf06a4f13421c14fc18fa",
"logs": [
{
"address": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000802b65b5d9016621e66003aed0b16615093f328b",
"0x000000000000000000000000824eb9fadfb377394430d2744fa7c42916de3ece"
],
"data": "0x000000000000000000000000000000000000000000000000048c290665a0c030"
}
],
"stateDiff": {
"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c": {
"0x653d9d82daa42bfecda6b9478f1ccfbfadb6a62429ce367eff2f7e5cce182f6c": "0x00000000000000000000000000000000000000000000008419f91387d438f586"
}
}
}
],
"withdrawals": [
{
"index": "0x1506516",
"validatorIndex": "0x18ea9",
"address": "0x8e609ac80f4324e499a6efd24f221a2caa868224",
"amount": "0x379ea6b"
},
{
"index": "0x1506517",
"validatorIndex": "0x18eaa",
"address": "0x8e609ac80f4324e499a6efd24f221a2caa868224",
"amount": "0x102d9b3"
}
],
"uncles": [
]
}
}
}Last updated