Skip to content

N3TC4T/python-xrpl-websocket

Repository files navigation

XRPL Websocket

Documentation Status

Websocket client for rippled with reconnecting feature, support both python 2 and 3

Installation

Via pip:

pip install xrpl_websocket

Examples

Short-lived connection

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()

More advanced: Custom class

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']
        })