I've been out of town for about a week on business. Nice to see some movement here but I am way behind. A couple questions:
1. Is there a post detailing specifications for masternodes? Payment %, required collateral, etc?
2. Do we need a VPS for masternodes like Darkcoin or do I ascertain they are working on windows machines?
Thanks.
Quote from: fusecavator on Today at 02:44:20 PM
Quote from: rocoro on Today at 02:22:13 PM
All my steps from everything I've read, feel free to correct or comment on any errors.
1. Set up Masternode computer Note: if using TOR, might not have to expose ports!
#Set up portforwarding on router to computer/ip port 9999
Code:
sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev automake libdb++-dev libssl-dev git
sudo apt-get install ufw
ufw allow ssh/tcp
ufw limit ssh/tcp #this command limits SSH connections to 6 every 30 seconds for greater security---
ufw allow 9999/tcp
ufw logging on
ufw enable
2. Install Tor & Configure torrc on Masternode computer
Code:
sudo apt-get install tor
sudo /etc/init.d/tor start
#Check that the Tor service is running on port 9050:
Code:
ss -aln | grep 9050
#Make directory that is readable/writeable by the user that will be running Tor.
Code:
mkdir /home/username/hidden_service/
#Configure torrc, usually found in /etc/tor
Code:
nano /etc/tor/torrc
#add the following & save:
HiddenServiceDir /home/username/hidden_service/
HiddenServicePort 9999 127.0.0.1:9999
#Restart Tor
Code:
sudo /etc/init.d/tor stop
sudo /etc/init.d/tor start
#Make note of created *hiddenservicename*.onion in:
Code:
/var/lib/tor/YOURHIDDENSERVICENAME/hostname
3. Configure Local/Cold wallet & Generate masternodeprivkey
#Go to Debug window > Console
Code:
masternode genkey
getaccountaddress 0
#Make note of masternode key and accountaddress
#Send 500 crave to the accountaddress
Code:
nano ~/.crave/crave.conf
#Paste the following:
Code:
rpcuser=MAKEUPNAME
rpcpassword=MAKEUPPASSWORD
rpcallowip=127.0.0.1
rpcport=USEDIFFERENTPORTNUMFOREACHCLIENT
listen=0
server=1
daemon=1
logtimestamps=1
masternode=1
masternodeprivkey=MASTERNODEKEYFROMCONSOLE
masternodeaddr=HIDDENSERVICENAME.ONION:9999
# Save / Write out the file
4. Configure the Masternode computer "craved daemon"
#First build secp256ki
Code:
git clone
https://github.com/bitcoin/secp256k1.git./autogen.sh
./configure
make
./tests #optional
sudo make install
ldconfig
#Get the crave daemon:
Code:
git clone
https://github.com/industrialcoinmagic/crave.git#Take the following steps to build daemon (no UPnP support):
Code:
cd ~/crave/src
make -f makefile.unix USE_UPNP=
strip craved
#Run ./craved and let it sync:
Code:
./craved
./craved getinfo | grep blocks #to find current block number & compare to blockexplorer
Code:
nano ~/.crave/crave.conf
#Paste the following:
Code:
rpcallowip=127.0.0.1
rpcuser=MAKEUPYOUROWNUSERNAME
rpcpassword=MAKEUPYOUROWNPASSWORD
rpcport=MAKEUPYOUROWNPORT
server=1
daemon=1
listen=1
staking=0
port=9999
masternodeaddr=HIDDENSERVICENAME.ONION:9999
masternode=1
masternodeprivkey=MASTERNODEKEYFROMCONSOLE
# Save / Write out the file
5. Last step
#Start the masternode daemon
Code:
./craved -conf=~/.crave/crave.conf
#Then start the local/cold wallet with tor option
Code:
./crave-qt -tor=127.0.0.1:9050
#Start masternode go to Debug > console
Code:
masternode start
#Check if the masternode is running correctly:
Code:
./craved masternode list | grep YOUR-IP
#If working:
Code:
YOURIPSERVICENAME:1
you might want to use the tor packages provided here:
https://www.torproject.org/docs/debian.html.en to make sure it's up to date
for multiple nodes you duplicate the service config like this:
HiddenServiceDir /home/username/hidden_service1/
HiddenServicePort 9999 127.0.0.1:9999
HiddenServiceDir /home/username/hidden_service2/
HiddenServicePort 9999 127.0.0.1:9998
HiddenServiceDir /home/username/hidden_service3/
HiddenServicePort 9999 127.0.0.1:9997
the hot machine's config needs that changing port as it's rpcport. masternodeaddr's port is 9999. either listen=0 or changing port is needed to keep them from clashing if doing multiple.
you can add the tor= part to cold config so you don't need to specify each time you run the client.