Skip to content

bitshares_instance got lost while calling Market.orderbook() #67

Description

@bitphage

When calling orderbook() method on Market, I see library tries to connect to default node instead of specified while initializing bitshares instance.

Testcase:

#!/usr/bin/env python

from bitshares import BitShares
from bitshares.market import Market
from bitshares.asset import Asset

bitshares = BitShares(node='wss://api-ru.bts.blckchnd.com', nobroadcast=True)

asset_rub = Asset('RUBLE', bitshares_instance=bitshares)
asset_golos = Asset('RUDEX.GOLOS', bitshares_instance=bitshares)

rub_golos_market = Market(bitshares_instance=bitshares, base=asset_rub, quote=asset_golos)
bids = rub_golos_market.orderbook()['bids']

Running testcase:

% ./testcase.py
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)
Lost connection to node during rpcexec(): wss://node.bitshares.eu (2/-1) Retrying in 2 seconds
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)
Lost connection to node during rpcexec(): wss://node.bitshares.eu (3/-1) Retrying in 4 seconds
^CTraceback (most recent call last):
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/grapheneapi/graphenewsrpc.py", line 86, in wsconnect
    self.ws.connect(self.url)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/websocket/_core.py", line 217, in connect
    options.pop('socket', None))
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/websocket/_http.py", line 76, in connect
    sock = _ssl_socket(sock, options.sslopt, hostname)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/websocket/_http.py", line 191, in _ssl_socket
    sock = _wrap_sni_socket(sock, sslopt, hostname, check_hostname)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/websocket/_http.py", line 168, in _wrap_sni_socket
    server_hostname=hostname,
  File "/usr/lib64/python3.4/ssl.py", line 362, in wrap_socket
    _context=self)
  File "/usr/lib64/python3.4/ssl.py", line 580, in __init__
    self.do_handshake()
  File "/usr/lib64/python3.4/ssl.py", line 807, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./testcase.py", line 13, in <module>
    bids = rub_golos_market.orderbook()['bids']
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/market.py", line 240, in orderbook
    ), orders["asks"]))
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/market.py", line 239, in <lambda>
    bitshares_instance=self.bitshares
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/price.py", line 463, in __init__
    super(Order, self).__init__(*args, **kwargs)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/price.py", line 74, in __init__
    self.bitshares = bitshares_instance or shared_bitshares_instance()
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/instance.py", line 16, in shared_bitshares_instance 
    SharedInstance.instance = bts.BitShares(**SharedInstance.config)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/bitshares.py", line 145, in __init__
    **kwargs)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/bitshares.py", line 174, in connect
    self.rpc = BitSharesNodeRPC(node, rpcuser, rpcpassword, **kwargs)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitsharesapi/bitsharesnoderpc.py", line 23, in __init__
    self.rpc.__init__(self, self._urls, **kwargs)
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/grapheneapi/graphenewsrpc.py", line 58, in __init__
    self.wsconnect()
  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/grapheneapi/graphenewsrpc.py", line 102, in wsconnect
    time.sleep(sleeptime)
KeyboardInterrupt

bitshares_instance got lost around this:

  File "/home/vvk/.local/share/virtualenvs/market-scripts-BfRrkhQ4/lib/python3.4/site-packages/bitshares/price.py", line 463, in __init__
    super(Order, self).__init__(*args, **kwargs)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions