How to run your own Swap node
There are various reasons for running your own node for Swap, or for any other crypto project you are interested in for that matter. Those reasons range from supporting the network and increasing decentralization to protecting yourself from some forms of attack vectors designed to steal your assets. I can be up front and honest about my own mistakes. I lost some BTC to my own stupidity and a compromised remote node that my Electrum wallet had connected to for a transaction. Had I then, like now, process my BTC transactions through my own node, I would have never lost almost 1/2 a BTC due to a simple mistake.
Let that be a warning that ease of use many times can come with the cost of additional attack vectors that bad actors can use to try and steal your crypto! However, this is not what this article is about so back to getting your own Swap node running. Like always, you have your choice of Linux, Windows or Mac platforms. You can pick either the Command Line Interface or the Graphics User Interface version but either way, you are basically running the same swapd executable to fire up your node.
https://github.com/swap-dev/swap/releases
Once you have downloaded and extracted the files to your location of choice, simply execute the swapd binary. It’s really that easy, however if you have Linux and are not running Ubuntu 18, you might get some errors if you just try to run the precompiled binary due to libc6 version conflicts. If this is the case, as it was for me on Ubuntu 16, you will need to compile the software manually. The commands really are simple if you just copy and paste the following three commands:
- This will install all the required dependencies: sudo apt-get install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libreadline6-dev libpgm-dev
- This will clone the entire repo, it is very important to use the –recursive tag! git clone –recursive https://github.com/swap-dev/swap
- This will build the Swap daemon and also the wallet. cd swap && mkdir build && cd build && cmake .. && make -j4 daemon simplewallet
Once the last command executes, two binary files will be created in the build/bin directory. Move them to a location of your choice and execute swapd. You will need to allow swapd access through your firewall, be it Windows or Linux. It will take the daemon time to sync for the first time. On my 4G wireless connection it took me about a day to sync the now over one million blocks that is the Swap ledger. My fiber connection took considerable time as well. In order to expedite the process Leafy has graciously offered up a web download of the raw blockchain file that is updated daily. It’s over 5GB in size and can be found here.
In order to import this file you MUST have the CLI version of the wallet on your computer. Included in the CLI wallet is a swap-blockchain-import binary. Please enter the commands below in a terminal from the Swap CLI client folder depending on your OS:
For Linux:
- wget https://node.pocketwhale.info/swap_blockchain.raw
- ./swap-blockchain-import –verify 0 –input-file ./swap_blockchain.raw
For Windows:
- Download file to Swap CLI wallet folder
- monero-blockchain-import.exe –verify 0 –input-file ./swap_blockchain.raw
Once the import has completed, you will need to run the daemon to complete your synchronization. The daemon will then start processing transactions and you can begin to use it as a node for your own wallets. You can now also use it for a Swap MicroPool, which you can read about by following the MicroPool link.
If you have any questions you can always jump into our Discord Server here for help and advice.