Websocket client for rippled with reconnecting feature, support both python 2 and 3
Via pip:
pip install xrpl_websocket
Simple example to send a payload and wait for response
import json
from xrpl_websocket import Client
if __name__ == "__main__":
# create instance
client = Client()
# connect to the websocket
client.connect(nowait=False)
# send server info command
resp = client.send(command='server_info')
print("Server Info:")
print(json.dumps(resp, indent = 4))
# close the connection
client.disconnect()
You can also write your own class for the connection, if you want to handle the nitty-gritty details yourself.
class Example(Client):
def __init__(self):
super(self.__class__, self).__init__(
log_level=logging.ERROR,
server="wss://xrpl.ws"
)
# connect to the websocket
self.connect()
def on_transaction(self, data):
print(json.dumps(data, indent = 4))
def on_ledger(self,data):
print('on_ledger')
def on_open(self, connection):
print("Connection is open")
print("Subscribe to ledger transactions")
self.subscribe_transactions()
def on_close(self):
print("on_close")
def subscribe_transactions(self):
self.send({
'command': 'subscribe',
'streams': ['transactions']
})