Creating a Mining Pool
Prepare Server
Create AWS Account
Create an account with Amazon AWS.
Setup an Instance
On the home page, click the services tab and then go to compute and click 'EC2'. Once you are there you will chose your region on the top of the page in the header section. Next click the 'Launch Instance' button at the center of the page and then select an AMI. For this tutorial I am using Ubuntu Server 16.04 LTS.
Next you will need to choose an instance type. I am just going to use the t2.large for the tutorial.
You can then skip to step six and under the source tap select my IP.
Next press Review and Launch and then create a new key pair to be able to connect with your instance. Once the instance is live, you can connect to your instance using an SSH through Terminal, PuTTY or similar program.
SSH into the Instance
Download key pair that you created earlier
Make sure you are in the same directory as the key and allow permissions
chmod 600 <key-name>.pemSSH into instance
ssh -i <key-name>.pem ubuntu@<EC2-IP-Address>Install Dependancies
sudo apt-get install aptitudesudo aptitude updatesudo aptitude install –with-recommends build-essential autotools-dev autoconf automake libcurl3 libcurl4-gnutls-dev git make cmake libssl-dev pkg-config libevent-dev libunbound-dev libminiupnpc-dev doxygen supervisor jq libboost-all-dev htopsudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-devsudo apt-get install libboost-all-dev git npm nodejs nodejs-legacy libminiupnpc-dev redis-serveradd-apt-repository ppa:bitcoin/bitcoinsudo apt-get updateapt-get install libdb4.8-dev libdb4.8++-devcurl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.shbash install_nvm.shAfter npm is installed you will have to log out and then back into your instance and continue installing dependancies.
source ~/.profilenvm install 0.10.48nvm use 0.10.48nvm alias default 0.10.48nvm use defaultInstall Apache2 for hosting the front end.
sudo apt-get updatesudo apt-get install apache2Adjust firewall to allow Apache full.
sudo ufw allow 'Apache Full'Install Qwertycoin
git clone --recurse-submodules https://github.com/qwertycoin-org/qwertycoincd ./qwertycoinmkdir ./buildcd ./buildcmake ..cmake --build . --config ReleaseStart Daemon and Let It Sync
cd build/srctmux./qwertycoindLet the blockchain sync before continuing
To sync the blockchain faster follow this guide
control b + d to exit tmux
Start Simple Wallet and Follow Steps to Generate a New Wallet Address
After you generated a new wallet exit it and run this:
tmux./simplewallet --wallet-file <wallet_name> --password <wallet_password> --rpc-bind-port 8198control b + d to exit tmux
Install Pool Software
Install Dependancies
sudo apt-get install libssl-dev libboost-all-devcurl -sL https://deb.nodesource.com/setup_8.x | sudo -E bashsudo apt-get install -y nodejssudo add-apt-repository ppa:chris-lea/redis-serversudo apt-get updatesudo apt-get install redis-serverClone repository
git clone https://github.com/dvandal/cryptonote-nodejs-pool.git poolcd pool && npm updatePool Configuration
Copy the
config_examples/qwertycoin.jsonfile toconfig.json
cp config_examples/qwertycoin.json config.jsonChange the following variables: Line 2 - Pool host to your pools IP Address Line 30 - Your simplewallet address that you generated Line 138 - Set your API password Line 125-127 - (Optional) change pool fees
Copy website_example Files to html directory
sudo cp -rf js/ lang/ pages/ themes/ admin.html config.js index.html /var/www/htmlConfiguring website_example
Edit
config.jsto use your pool's specific configuration
Start the Mining Pool
cd && cd poolnode init.jsYour pool should now be visible at your server's IP address
You can visit your admin page by appending
admin.htmlto your server IP address in your browsers search bar like so:
http://server-ip-address/admin.html
Your admin password is your API password you set earlier in
config.json
Last updated
Was this helpful?