Bamboo Relay Connector¶
About Bamboo Relay¶
Bamboo Relay is an exchange application specializing in ERC-20 tokens that uses the 0x Protocol. Currently, Bamboo Relay allows any user to connect their wallet and trade between any coin pair combination.
Using the Connector¶
Because Bamboo Relay is a decentralized exchange, you will need an independent cryptocurrency wallet and an ethereum node in order to use Hummingbot. See below for information on how to create these:
Connector Operating Modes¶
Open order book mode allows for off-chain orders to be submitted and any taker to fill these orders on-chain. Orders may only be cancelled by submitting a transaction and paying gas network costs.
The coordinated order book mode extends the open order book mode by adding the ability to soft-cancel orders and a selective delay on order fills, while preserving network and contract fillable liquidity. This is achieved by the use of a coordinator server component and coordinator smart contracts.
The Bamboo Relay front-end UI does not show orders that have less than 30 seconds expiry remaining. This is so that users should only attempt to fill orders that have a reasonable chance of succeeding.
When running the connector in coordinated mode it is advised to enable this setting so that orders are automatically refreshed when they have 30 seconds remaining.
Daily Server Restarts¶
Bamboo Relay's server restarts at least twice a day which will drop WebSocket connections. As a result, errors will show up in the logs a few times in a day transiently before Hummingbot just reconnects.
Specifically it is Nginx that restarts that takes ~1 second when it happens. If it ends up being minutes, then there may be a problem. If it's just for a few seconds then it's almost 100% the restarts.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
2019-09-05 18:15:02,335 - hummingbot.market.bamboo_relay.bamboo_relay_api_order_book_data_source - ERROR - Unexpected error with WebSocket connection. Retrying after 30 seconds... Traceback (most recent call last): File "/hummingbot/market/bamboo_relay/bamboo_relay_api_order_book_data_source.py", line 214, in listen_for_order_book_diffs async with websockets.connect(WS_URL) as ws: File "/opt/conda/envs/hummingbot/lib/python3.6/site-packages/websockets/py35/client.py", line 2, in __aenter__ return await self File "/opt/conda/envs/hummingbot/lib/python3.6/site-packages/websockets/py35/client.py", line 12, in __await_impl__ transport, protocol = await self._creating_connection File "/opt/conda/envs/hummingbot/lib/python3.6/asyncio/base_events.py", line 809, in create_connection sock, protocol_factory, ssl, server_hostname) File "/opt/conda/envs/hummingbot/lib/python3.6/asyncio/base_events.py", line 835, in _create_connection_transport yield from waiter File "/opt/conda/envs/hummingbot/lib/python3.6/asyncio/selector_events.py", line 725, in _read_ready data = self._sock.recv(self.max_size) ConnectionResetError: [Errno 104] Connection reset by peer raise OSError(err, 'Connect call failed %s' % (address,)) ConnectionRefusedError: [Errno 111] Connect call failed ('18.104.22.168', 443) raise InvalidStatusCode(status_code) websockets.exceptions.InvalidStatusCode: Status code not 101: 502
Minimum Order Sizes¶
The minimum acceptable order size is 0.00000001 normalized units of price, amount or total, whichever of these is the lowest.
Currently Bamboo Relay does not charge trading or withdrawal fees, and the only additional cost for transactions is the gas network costs. This may change in the future as the exchange develops a larger user base.