bdnBlocks
Available on Gateway and Cloud API
Name: bdnBlocks
bdnBlocks
is a stream of all new blocks as they are propagated in the BDN. The blocks published in the bdnBlocks
stream may include blocks that will not be accepted on chain. This stream offers significant performance speed over the newBlocks
stream (from the Gateway or the node).
Important update (due October 1, 2025): The default value for parsedTxs
will change to false.
If you rely on parsed transaction fields, you will need to explicitly set parsedTxs
: true
to maintain current behavior.
Options
Key
Description
Values
include
Fields to include in the block stream.
hash,header,transactions,uncles,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) withdrawals
contains withdrawals for ETH block
parsedTxs
Controls whether transactions in each block are returned as fully parsed JSON objects (true
) or as raw, unparsed RLP payloads (false
). Disabling parsing reduces server work and improves delivery latency.
Type: boolean
[Default (current): true
]
Examples (Websocket)
Cloud-API
## ETH Example
wscat -c wss://virginia.eth.blxrbdn.com/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["bdnBlocks", {"include": ["hash"], "parsedTxs": true}]}
< ......
## BSC Example
wscat -c wss://virginia.bsc.blxrbdn.com/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["bdnBlocks", {"include": ["hash"], "blockchain_network": "BSC-Mainnet", "parsedTxs": true}]}
< ......
Gateway
wscat -c ws://127.0.0.1:28333/ws --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["bdnBlocks", {"include": ["hash"], "parsedTxs": true}]}
< ......
Response (Block Event)
<<< {
"method": "subscribe",
"params": {
"subscription": "6ea43ccf-3810-11ec-ad71-0242ac110002",
"result": {
"hash": "0x95774a847277f19f85742740577812b33be5e8261b13ae0a93828b44401aac80",
"header": {
"parentHash": "0xf254c84238d1e5c9aca356a7ad01a7dc75c7012c8cb06a43510bdc486027374c",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"miner": "0x1ad91ee08f21be3de0ba2ba6918e714da6b45836",
"stateRoot": "0xa80ba46395c5cd93a2122296207ed5433a6f0bafdf31a9db43d641a7bc764e55",
"transactionsRoot": "0x7588844493391e8503a966f4720d85f83a3e672e314a122db2bb6769b214c90b",
"receiptsRoot": "0x8a6aaba9d857189db685a1bb9d179f1cdca9b1c06bd77ff851d31e90734c70bf",
"logsBloom": "0xd0fa0757dcfb97f75b80a4f4ffc24bdef632117a9ebcbabb65abf679d77f5bbf96cdc19a58f142755d85db83ef7c13f61f6784706b41fbc9fe56fb2ab7ecedcfc9eeedd34149fd7f2ade66cf7df4f6f5928ba98cafde24ffa4e37fdfe0cc7dbf1fb5e43b42687836fc7c1e958f11edf47f77b9f2b0357e707a72fdf3c31ceff5fd5ad751befe211ed5c81b7e8b8f0837e4bad993399dcfdabe639edffabf70b756dcbfcef69db5c04aa54ad0be679d93dab7bb9973fbe6eacfe37f8e1e91bb5f7f3576efd9fe42e7bb2d7547a7fd6723cc2f6abe5d3ea7b6f7fefde2b576602e3535bd69c9be6d5e631c8feddec92edcd7001dea6a9fb263526ef7f6d9779e07",
"difficulty": "0x2450fb34e3ea2a",
"number": "0xce1986",
"gasLimit": "0x1caa0e3",
"gasUsed": "0x1ca5d1c",
"timestamp": "0x617ad6f1",
"extraData": "0x486976656f6e20686b",
"mixHash": "0xe9baa71cbaa92d9d417dd083473fc658b2f6ad0e32f2598c4f46353d64869354",
"nonce": "0x97b7dbe2862da2df"
"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
}
],
"withdrawals": [
{
"index": "0x1506516",
"validatorIndex": "0x18ea9",
"address": "0x8e609ac80f4324e499a6efd24f221a2caa868224",
"amount": "0x379ea6b"
},
{
"index": "0x1506517",
"validatorIndex": "0x18eaa",
"address": "0x8e609ac80f4324e499a6efd24f221a2caa868224",
"amount": "0x102d9b3"
}],
"transactions": [
{
"type": "0x2",
"nonce": "0x1714",
"gas": "0x206f3",
"value": "0x6f05b59d3b200000",
"input": "0x52bbbe2900000000000000000000000000000000000000000000000000000000000000e000000000000000000000000013b3a50f3947476eda74fe191344524e2d2d28e5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013b3a50f3947476eda74fe191344524e2d2d28e500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000548139461270ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9212b088d48fc749c5adc573b445bc0d0a289a340002000000000000000000b100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000507586012a126421c3669a64b8393fffa9c444620000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000",
"v": "0x0",
"r": "0xe2261a38f685e318164196727d41c91e497430b3bfd326a71c0bfbec747dcbd6",
"s": "0x2d9e98d07f053c4a5ea56ee1a1af3f7fb81bc22bcbb152fd847af12ff5e54bfa",
"to": "0xba12222222228d8ba445958a75a0704d566bf2c8",
"from": "0x13b3a50f3947476eda74fe191344524e2d2d28e5",
"gasPrice": null,
"hash": "0xf83aa79d4dd6f28bc127b12caf891f61e2e8fdc0b900211dd9c3dcae187fdf37",
"chainId": "0x1",
"accessList": [
],
"maxFeePerGas": "0x38e3aebfe4",
"maxPriorityFeePerGas": "0x6ccc91d0"
},
......
{
"type": "0x2",
"nonce": "0x2e8",
"gas": "0x5208",
"value": "0xbced73479b86000",
"input": "0x",
"v": "0x0",
"r": "0x46d725064ee3fac9bbb3df1bde7d419b9adc9b1204338df91938d742aa11d1ba",
"s": "0x68b7f00d0dcb65153db2af9d1458dc82a8deb65c0b2a52e11b46d8657600d9f6",
"to": "0x664cbf2a5b1bc7a9c153ae12f6ba7cefa4d1a482",
"from": "0x5907f6596de3235d9a1ddcf4e23535257e88d592",
"gasPrice": null,
"hash": "0xf131d507635a87a89d410f053ac83d18979b2c24106f322ac5285f67ebf05c30",
"chainId": "0x1",
"accessList": [
],
"maxFeePerGas": "0x41a7d25afc",
"maxPriorityFeePerGas": "0x68fdbaca"
}
]
}
},
"jsonrpc": "2.0"
}
Examples - gRPC
package main
import (
"context"
"fmt"
pb "github.com/bloXroute-Labs/gateway/v2/protobuf"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"time"
)
type blxrCredentials struct {
authorization string
}
func (bc blxrCredentials) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
return map[string]string{
"authorization": bc.authorization,
}, nil
}
func (bc blxrCredentials) RequireTransportSecurity() bool {
return false
}
func main() {
// gRPC server default values
gatewayHostIP := "localhost"
gatewayGRPCPort := 5001
// Open gRPC connection to Gateway.
conn, _ := grpc.Dial(
fmt.Sprintf("%v:%v", gatewayHostIP, gatewayGRPCPort),
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithPerRPCCredentials(blxrCredentials{authorization: "<YOUR-AUTHORIZATION-HEADER>"}),
)
// Use the Gateway client connection interface.
client := pb.NewGatewayClient(conn)
// create context and defer cancel of context
callContext, cancel := context.WithTimeout(context.Background(), 24*time.Hour)
defer cancel()
// Create a subscription using the stream-specific method and request.
stream, _ := client.BdnBlocks(callContext, &pb.BlocksRequest{})
for {
subscriptionNotification, err := stream.Recv()
if err == nil {
fmt.Println(subscriptionNotification) // or process it generally
}
}
}
Response (Block Event)
{
"future_validator_info": [],
"transaction": [
{
"from": "",
"local_region": false,
"time": "0",
"raw_tx": "+I6DAlTHhQHc1lHAglnYlBXsRrWI...3SFs7n3n3UUCAVX1weV6HLAcAKuA"
},
....
{
"from": "",
"local_region": false,
"time": "0",
"raw_tx": "AviPgkJogwkGOoQ7mso...3Z99ZUu1/Jc0B9ytQ="
}
],
"withdrawals": [
{
"address": "0x9baA3244565d51D9C7897c0EB6679eD4890e536E",
"amount": "0x60077b",
"index": "0x104ed81",
"validator_index": "0x1ee90"
},
....
{
"address": "0x9baA3244565d51D9C7897c0EB6679eD4890e536E",
"amount": "0x604095",
"index": "0x104ed90",
"validator_index": "0x1ee9f"
}
],
"hash": "0xd9cfa479b98ae15...a7e629fe3435e6169abca",
"subscriptionID": "c5451b97-c82c-47e2-a70e-74e3256584e6",
"header": {
"parent_hash": "0xf3fd6b6011eed8d...f482e9345a3fe5dfe9e26c1db",
"sha3_uncles": "0x1dcc4de8dec75d7aa...48a7413f0a142fd40d49347",
"miner": "0x0c10000000756...7f022929a97bda45",
"state_root": "0xf074e94fc3d700a8f....9ea3280595bd5acd5d97d0",
"transactions_root": "0xedade2fe2198c....ccf38eeaacb2ccaa92e60",
"receipts_root": "0x2ff34bb52237c31b8...78e0ac369028cb63f",
"logs_bloom": "0x4c0008000804...00402004048",
"difficulty": "0x0",
"number": "0x107336",
"gas_limit": "0x1c9c380",
"gas_used": "0x11bc8e3",
"timestamp": "0x65e73b50",
"extra_data": "0xd883010d0e846....2312e37856c696e7578",
"mix_hash": "0xf6743b00bce48fc1617acf...84d781807a3866ab",
"nonce": "0x0000000000000000",
"base_fee_per_gas": "59",
"withdrawals_root": "0x5e9855e2716a2b4793d4e...9faa41d9c876fcff1b",
"blob_gas_used": "0x80000",
"excess_blob_gas": "0x4b20000",
"parent_beacon_root": "0xe83661292da71373c38...3a91a5e27ac4a59ea3c"
}
}
Last updated