def __init__( self, accounts=[], markets=[], objects=[], on_tx=None, on_object=None, on_block=None, on_account=None, on_market=None, bitshares_instance=None, ): # Events super(Notify, self).__init__() self.events = Events() # BitShares instance self.bitshares = bitshares_instance or shared_bitshares_instance() # Markets market_ids = [] for market_name in markets: market = Market(market_name, bitshares_instance=self.bitshares) market_ids.append([ market["base"]["id"], market["quote"]["id"], ]) # Accounts account_ids = [] for account_name in accounts: account = Account(account_name, bitshares_instance=self.bitshares) account_ids.append(account["id"]) # Callbacks if on_tx: self.on_tx += on_tx if on_object: self.on_object += on_object if on_block: self.on_block += on_block if on_account: self.on_account += on_account if on_market: self.on_market += on_market # Open the websocket self.websocket = BitSharesWebsocket( urls=self.bitshares.rpc.urls, user=self.bitshares.rpc.user, password=self.bitshares.rpc.password, accounts=account_ids, markets=market_ids, objects=objects, on_tx=on_tx, on_object=on_object, on_block=on_block, on_account=self.process_account, on_market=self.process_market, )
def __init__( self, accounts=None, markets=None, objects=None, on_tx=None, on_object=None, on_block=None, on_account=None, on_market=None, keep_alive=25, **kwargs ): # Events super(Notify, self).__init__() self.events = Events() # BitShares instance BlockchainInstance.__init__(self, **kwargs) # Callbacks if on_tx: self.on_tx += on_tx if on_object: self.on_object += on_object if on_block: self.on_block += on_block if on_account: self.on_account += on_account if on_market: self.on_market += on_market # Open the websocket self.websocket = BitSharesWebsocket( urls=self.blockchain.rpc.urls, user=self.blockchain.rpc.user, password=self.blockchain.rpc.password, accounts=accounts, markets=self.get_market_ids(markets), objects=objects, on_tx=on_tx, on_object=on_object, on_block=on_block, on_account=self.process_account, on_market=self.process_market, keep_alive=keep_alive, )
#!/usr/bin/env python3 from pprint import pprint from bitsharesapi.websocket import BitSharesWebsocket # from bitshares.account import Account # import time # while True: # time.sleep(5) # from bitshares import BitShares # print(bitshares.info()) ws = BitSharesWebsocket( "wss://openledger.hk/ws", markets=[["1.3.0", "1.3.113"]], on_market=pprint, ) ws.run_forever()