Streams are available with Websocket via both Gateway and Cloud-API. Subscriptions are created using the RPC call subscribe
with the stream (feed) name and subscription options set as parameters. Each stream has a different subscription name and can accept different subscription options. Please refer to the specific stream page for info.
Before using the subscribe call, you need to open a Websocket connection to the Gateway or the Cloud-API.
Gateway Cloud-API (Enterprise) Cloud-API (Non Enterprise)
Notes:
We assume that the Gateway IP is 127.0.0.1 with default ws port 28333 in the example below.
Copy ws://127.0.0.1:28333/ws
Authentication method: Use authorization header .
Copy wss://<region>.eth.blxrbdn.com #ETH
wss://<region>.bsc.blxrbdn.com #BSC
Gateway Cloud-API (Enterprise) Cloud-API (Non Enterprise)
Subscribing to Gateway Stream in Python (version 3.7 or higher):
Copy import asyncio , websockets , json
async def main ():
try :
auth_key = "YOUR_AUTHORIZATION_HEADER"
async with websockets . connect (
'ws://127.0.0.1:28333/ws' ,
header = [ "Authorization: {} " . format (auth_key)],
) as websocket :
request = json . dumps ({ "id" : 1 , "method" : "subscribe" , "params" : [ "newTxs" , { "include" : [ "tx_hash" ]}]})
websocket . send (request)
while True :
response = json . loads (websocket. recv ())
print (response) # or process it generally
except Exception as e :
print ( f 'Connection failed, Reason: { e } ' )
if __name__ == '__main__' :
asyncio . run ( main ())
Subscribing to Cloud-API Feed in Python (version 3.7 or higher):
Copy import asyncio , json , websockets
async def main ():
try :
auth_key = "YOUR_AUTHORIZATION_HEADER"
async with websockets . connect (
'wss://virginia.eth.blxrbdn.com/ws' ,
header = [ "Authorization: {} " . format (auth_key)],
) as websocket :
subscription_request = json.dumps({"id": 1, "method": "subscribe", "params": ["newTxs", {"include": ["tx_hash"]}]})
await websocket . send (subscription_request)
while True :
response = await websocket . recv ()
print (response)
except Exception as e :
print ( f 'Connection failed, Reason: { e } ' )
if __name__ == '__main__' :
asyncio . run ( main ())
Subscribing to Cloud-API Feed in Python (version 3.7 or higher):
Copy import asyncio , json , websockets
async def main ():
try :
auth_key = "YOUR_AUTHORIZATION_HEADER"
async with websockets . connect (
'wss://api.blxrbdn.com/ws' ,
header = [ "Authorization: {} " . format (auth_key)],
) as websocket :
subscription_request = json.dumps({"id": 1, "method": "subscribe", "params": ["newTxs", {"include": ["tx_hash"]}]})
await websocket . send (subscription_request)
while True :
response = await websocket . recv ()
print (response)
except Exception as e :
print ( f 'Connection failed, Reason: { e } ' )
if __name__ == '__main__' :
asyncio . run ( main ())