We want to make running an asb as accessible as possible.
Currently this is cumbersome. In practice managing an asb instance involves:
Reading log files by hand
Managing wallets (repleneshing Monero funds, transfering the received Bitcoin to other wallets)
Managing infrastructure (keeping daemon in sync, often using docker-compose)
Common issues are:
The Bitcoin wallet cannot be accessed while the asb is running. Instead of using the balance and withdraw-btc commands, most opt to export the internal wallet and manage it using external wallet software
Ports needs to be opened for libp2p to accept connections. If you want a /dnsaddr/*** / /dns4/**** multi address you also need to register a domain and set the correct dns entries.
If you want to monitor the uptime of your instance, you either need to contineually monitor the logs or check if it is still present in the public registry
Proposed solution
We use arti to listen on an /onion3/**** multi address. This allows users to run the asb behind a firewall, without exposing their IP and without needing DNS entries. We'll slowly migrate towards this being the default for all sellers.
We introduce a control API (similiar to the tor control). This should allow users to modify settings (like the spread) and execute commands (meaning things like withdraw-btc) programatically. The API needs to be secured using a security token. We should listen locally on a port and listen on an onion service for connections (a different one from the one we use for libp2p)
We add a new tab to the GUI (Market Maker) to allow
3.1 Running and managing an asb instance on the same device
3.2 Running an asb on an external server and allow users to manage the asb by connecting to the onion address of the control API and authenticating using the security token
We want to make running an
asb
as accessible as possible.Currently this is cumbersome. In practice managing an asb instance involves:
Common issues are:
asb
is running. Instead of using thebalance
andwithdraw-btc
commands, most opt to export the internal wallet and manage it using external wallet softwarelibp2p
to accept connections. If you want a/dnsaddr/***
//dns4/****
multi address you also need to register a domain and set the correct dns entries.Proposed solution
arti
to listen on an/onion3/****
multi address. This allows users to run theasb
behind a firewall, without exposing their IP and without needing DNS entries. We'll slowly migrate towards this being the default for all sellers.withdraw-btc
) programatically. The API needs to be secured using a security token. We should listen locally on a port and listen on an onion service for connections (a different one from the one we use for libp2p)Market Maker
) to allow 3.1 Running and managing anasb
instance on the same device 3.2 Running anasb
on an external server and allow users to manage theasb
by connecting to the onion address of the control API and authenticating using the security token