Skip to content

Instantly share code, notes, and snippets.

@aronschatz
Created April 23, 2018 02:45
Show Gist options
  • Save aronschatz/00dad2ab52475fcf3fc08b3d5c46afc8 to your computer and use it in GitHub Desktop.
Save aronschatz/00dad2ab52475fcf3fc08b3d5c46afc8 to your computer and use it in GitHub Desktop.
Like this guide? Donate to CWdS7yFPnAQDXSR4DNBEhpS4X9QEE1hqEQ (WIRE)
BTC Tips: 1GwRSXHVRR6hq3rSTHhRB1j3UkuBWjqzZ2
ETH Tips: 0xA5319cc479E3aED6380EA06E1352B93d47BABaA6
LTC Tips: LYbh1tpzBwbzJi5yHGaVxrBPrTRXU9r8Sz
--------------------------
On your personal wallet...
Generate Masternode Key...
wire-cli masternode genkey
Generate new receiving address...
wire-cli getnewaddress
Send 35000 WIRE transaction to yourself (somehow). This can be through your own wallet or by someone else as long as the transaction is exactly 35000 WIRE!
wire-cli sendtoaddress CQSQPXSDXsT4qnng7EhPjqskG2Q1igC88X 35000
Grab transaction output
wire-cli masternode outputs
Add masternode info to masternode.conf Have IP address of server.
nano ~/.wire/masternode.conf
File should look like this format
Alias IP:Port genkey Transaction Vout
And with values filled out
mn1 45.33.72.53:6520 88YAEwWdS8Snqhr7UqzeE7TkzqQCfTX8APK2dvtLFuek6cswV3k e391e850328e890520cbb6b54e5cf84a3933f6e4834cd0b62a8ced9e8eeb5d4a 0
Restart the wallet
wire-cli stop
wired -daemon
--------------------------
Log in to the VPS As Root!
Create user
adduser masternode
Add to sudo group...
visudo
File should have this line under root.
masternode ALL=(ALL:ALL) ALL
Log in as that user
Update system and install Bitcoin PPA and other packages
sudo apt-get -y update
sudo apt-get -y install software-properties-common
sudo apt-add-repository -y ppa:bitcoin/bitcoin
sudo apt-get -y update
sudo apt-get -y install git libevent-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libdb4.8-dev libdb4.8++-dev libminiupnpc-dev ufw virtualenv python-pip dh-autoreconf pkg-config build-essential libssl-dev
sudo apt-get -y upgrade
If it asks, keep any local version of the files installed
Reboot
sudo reboot
Log back into server
Configure swap (just in case)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Configure Firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 6520/tcp
sudo ufw enable
Get source and compile
cd ~
mkdir masternode
cd masternode
git clone https://github.com/Social-Wallet-Inc/wire-core.git
cd wire-core
./autogen.sh
./configure
make
Move to /usr/bin
cd src
sudo mv ./wire-cli /usr/bin/
sudo mv ./wired /usr/bin/
sudo mv ./wire-tx /usr/bin/
Test it
wired -daemon
At this point, the daemon will complain that a configuration file for setting the RPC user and password hasn’t been done and offer a suggestion for one. You can use these settings or make your own.
Edit the config file using an editor of your choice (vi/nano/etc). If you use vi, hit insert to be able to type and paste text into the file. Hit escape to be taken to the prompt for vi. At the prompt, type :qt which tells vi to save and quit. If you are using nano, control+x will prompt you to save the file, just type y. Then, hit enter to accept the same file name.
nano ~/.wire/wire.conf
The file will need to look like this. Replace the parts in brackets with the correct things.
rpcuser=[randomstring]
rpcpassword=[randomstring2]
rpcallowip=127.0.0.1
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
externalip=[IP]
masternodeprivkey=[MASTERNODEGENKEY]
masternode=1
From this guide, the file will look something like this...
rpcuser=3456345yhrerhtw45y6
rpcpassword=thjfdghnrgth34734y4ty
rpcallowip=127.0.0.1
listen=1
server=1
daemon=1
logtimestamps=1
maxconnections=256
externalip=45.33.72.53
masternodeprivkey=88YAEwWdS8Snqhr7UqzeE7TkzqQCfTX8APK2dvtLFuek6cswV3k
masternode=1
Run the daemon again
wired -daemon
The daemon should have started successfully. Test the wallet by asking for information about the blockchain.
wire-cli getinfo
Make WIRE run on reboots
crontab -e
@reboot wired -daemon
Before moving back to the personal wallet side, make sure that the blockchain is all synchronized and that the masternode list is also sync’d...
wire-cli mnsync status
This should report something like this. Notice the true on the first line and the 999 on the second to last line, those are important.
{
"IsBlockchainSynced" : true,
"lastMasternodeList" : 1524411294,
"lastMasternodeWinner" : 1524411412,
"lastBudgetItem" : 0,
"lastFailure" : 0,
"nCountFailures" : 0,
"sumMasternodeList" : 0,
"sumMasternodeWinner" : 111,
"sumBudgetItemProp" : 0,
"sumBudgetItemFin" : 0,
"countMasternodeList" : 0,
"countMasternodeWinner" : 5,
"countBudgetItemProp" : 5,
"countBudgetItemFin" : 5,
"RequestedMasternodeAssets" : 999,
"RequestedMasternodeAttempt" : 0
}
--------------------------
On your personal wallet...
Start the masternode on the personal wallet side.
wire-cli startmasternode alias 0 ALIAS
From this guide, it would be...
wire-cli startmasternode alias 0 mn1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment