- 3 GB memory
- 250 GB Disk for MainNet
- 1 CPU
System specifications are based off of current Application size (Docker images and source code), and Blockchain size. Blockchain size will increase as time goes on, so make sure your machines have adequate space to handle this growth into the future.
Disk estimates are based off of current blockchain sizes:
- 208 GB (BTC) and 21 GB (LTC) for MainNet
The system specifications above are up-to-date as of February 2019
Users should understand that the machine that will be running Sparkswap will also be running the blockchain and lightning network nodes that contain the private keys to their assets. Since these are connected to the Internet (and must be in order to perform their function), they are more exposed to asset loss than cold storage wallets.
Machines that run Sparkswap should likely be single purposed, and locked down in nearly every way, including what personnel have access to them.
You are responsible for your own security.
Brokers are always online
Due to the nature of Payment Channel Networks as they are currently designed, Sparkswap Brokers are required to stay online for the duration of their trading session. When a Broker disconnects from the Relayer, the Relayer immediately cancels all of their orders, since the Broker will be unreachable to both prepare for and execute a swap for the order.
In addition, current Payment Channel Network implementations have severe consequences for data loss, which can result in loss of funds in channels. Work is being done to mitigate these potential failure scenarios, but you should plan to run your software in a highly available environment (e.g. using RAID and an UPS unit to avoid data loss). However, even with these mitigations data loss is still possible and will result in a loss of funds in channels.
Full Node for each Blockchain
Due to current constraints with our Payment Channel Network implementations, every Blockchain that you use on Sparkswap requires running a Full Node. With current support, that means running a full Bitcoin node and a Full Litecoin node, which is what leads to the large storage requirements for running Sparkswap.
Full Payment Channel Network Node
Each broker is required to run a separate instance of a Payment Channel Network node (currently LND) for each blockchain.
Before you begin
To get Sparkswap fully installed you will need to follow the steps below. If at anytime you run into issues or errors, please feel free to contact us and we can assist you. You can email us at email@example.com, message us on Discord or schedule a call with us.
- Mac Users:
- Download Docker for Mac Version 220.127.116.11 or greater and follow the installation steps (this installs Docker Community Edition and Docker Compose)
- Linux Users:
- Windows Users:
Installation & Setup
We've created a script to download and configure Sparkswap:
curl https://get.sparkswap.com/latest -o install-sparkswap.sh
Run the script with:
You'll be prompted for additional information including what network you want to run the Broker on (RegTest or MainNet).
By default, the script will use the pre-built Sparkswap Docker images that can be found on the Sparkswap Docker Hub.
To build the Docker images from source, you can use the
- Install Node.js version
To do so, you'll need to do one of the following:
- Go to https://nodejs.org/dist/latest-v8.x/ and for MacOS you should choose
node-v8.15.1.tar.gz, for Windows
- Install using a package manager.Install NodeJS LTS 8.11.x with the latest npm version
- Run the command
bash install-sparkswap.sh --build
Building takes much longer (10-15 minutes), and will prompt you for additional information during the build. To avoid these additional prompts, you can provide the following command line options:
--yesAgrees to create a
sparkswapdirectory in your home directory
--network=<m or t>Designate which Network to run the Broker on,
mfor MainNet or
rfor RegTest (hosted by Sparkswap)
If you'd rather not use the script, you can also follow the Manual Installation guide.