Visitors To This Post

Search This Blog

Sunday, January 1, 2023

How to run your own Swap node

 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:

  1. 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
  2. This will clone the entire repo, it is very important to use the –recursive tag!   git clone –recursive https://github.com/swap-dev/swap
  3. 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.

Apache2 Ubuntu Default Page: It works Apache2 Ubuntu Default Page

 

Apache2 Ubuntu Default Page: It works Apache2 Ubuntu Default Page
It works!

This is the default welcome page used to test the correct operation of the Apache2 server after installation on Debian systems. If you can read this page, it means that the Apache HTTP server installed at this site is working properly. You should replace this file (located at /var/www/html/index.html) before continuing to operate your HTTP server.

If you are a normal user of this web site and don't know what this page is about, this probably means that the site is currently unavailable due to maintenance. If the problem persists, please contact the site's administrator.

Configuration Overview

Debian's Apache2 default configuration is different from the upstream default configuration, and split into several files optimized for interaction with Debian tools. The configuration system is fully documented in /usr/share/doc/apache2/README.Debian.gz. Refer to this for the full documentation. Documentation for the web server itself can be found by accessing the manual if the apache2-doc package was installed on this server.

The configuration layout for an Apache2 web server installation on Debian systems is as follows:

/etc/apache2/
|-- apache2.conf
|       `--  ports.conf
|-- mods-enabled
|       |-- *.load
|       `-- *.conf
|-- conf-enabled
|       `-- *.conf
|-- sites-enabled
|       `-- *.conf
          
  • apache2.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.
  • ports.conf is always included from the main configuration file. It is used to determine the listening ports for incoming connections, and this file can be customized anytime.
  • Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ directories contain particular configuration snippets which manage modules, global configuration fragments, or virtual host configurations, respectively.
  • They are activated by symlinking available configuration files from their respective *-available/ counterparts. These should be managed by using our helpers a2enmod, a2dismod, a2ensite, a2dissite, and a2enconf, a2disconf . See their respective man pages for detailed information.
  • The binary is called apache2. Due to the use of environment variables, in the default configuration, apache2 needs to be started/stopped with /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not work with the default configuration.
Document Roots

By default, Debian does not allow access through the web browser to any file apart of those located in /var/www, public_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as in /srv) you may need to whitelist your document root directory in /etc/apache2/apache2.conf.

The default Debian document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.

Reporting Problems

Please use the reportbug tool to report bugs in the Apache2 package with Debian. However, check existing bug reports before reporting a new bug.

Please report bugs specific to modules (such as PHP and others) to respective packages, not to the web server itself.

Valid XHTML 1.0 Transitional