Part 1 - Virtual machine setup
You can find the part 1 in this blog article: https://blog.gohelpfund.com/start-your-own-masternode/
Part 2 - Help Core setup
Virtual Machine - Masternode Setup
- Download and install the components of your Help masternode
- Create a working directory for Help, extract the compressed archive and copy the necessary files to the directory:
tar xfv helpcore-0.13.1-x86_64-linux-gnu.tar.gz
cp -f helpcore-0.13.1/bin/helpd ~/.helpcore/
cp -f helpcore-0.13.1/bin/help-cli ~/.helpcore/
- You can now start running Help Core on the virtual machine to begin synchronization with the blockchain.
- Generate a legacy masternode key
~/.helpcore/help-cli masternode genkey
Generate a BLS key pair
- A public/private BLS key pair is required for the operator of the masternode.
- If you are using a hosting service, they may provide you with their public key, and you can skip this step.
- If you are hosting your own masternode or have agreed to provide your host with the BLS private key, generate a BLS public/private keypair as follows:
~/.helpcore/help-cli bls generate
- The next step is to secure your wallet with a password of at least 8 characters
~/.helpcore/help-cli encryptwallet yourSecretPassword
- Create a configuration file using the following command:
- An editor window will appear. Copy and paste the following text to get started:
Replace the fields marked with
XXXXXXX as follows:
masternodeprivkey: is the output from
masternode genkey(for example,
masternodeblsprivkey: is the field
bls generateoutput (for example,
externalip: IP address of your virtual machine (for example,
Press Ctrl + X to close the editor and Y and Enter save the file.
- You can now start running Help on the masternode to begin synchronization with the blockchain
- We will now install Sentinel, a piece of software which operates as a watchdog to communicate to the network that your node is working properly
git clone https://github.com/gohelpfund/sentinel.git
venv/bin/pip install -r requirements.txt
- You will see a message reading
helpd not synced with network! Awaiting full sync before running Sentinel
Invalid Masternode Status.
- Now let's move on with adding helpd and sentinel to crontab to make sure it runs every minute to check on your masternode:
- Choose nano as your editor and enter the following lines at the end of the file:
* * * * * cd ~/.helpcore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
* * * * * pidof helpd|| ~/.helpcore/helpd
- Press enter to make sure there is a blank/new line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file.
- You can use the following commands to monitor progress:
~/.helpcore/help-cli mnsync status
When synchronisation is complete, you should see the following response:
GUI Wallet - ProRegTx Setup
- Visit our official website and click on Token
- In the Token section, choose Wallets and download the binaries for your operating system (e.g. Windows 64 bit)
- After you've download the archive, move it to a more formal location and extract the contents there
- Go into the bin folder and start the GUI (Graphical User Interface): help-qt
- The dialog will ask you where to keep your data (blockchain, keys, etc.)
- Loading screen will appear showing the initialization of the GUI wallet
- The wallet now shows the synchronization percent with the blockchain
- Meanwhile, you can enable the masternodes tab by going to Settings -> Options -> Wallet -> Show Masternodes Tab
- Next we must encrypt or wallet with a secure password by going to Settings -> Encrypt Wallet
- Please wait a few moments, then you a new pop-up will appear and you will click OK and the wallet will shutdown
- Start the wallet again and open the console by going to Tools -> Debug Console
We will continue with generating all the addresses needed for the masternode setup.
- The collateral address is the most important one, as it's the one holding the funds required for a masternode.
- The beauty of masternode process is that you don't have to send your coins to a 3rd party (on the virtual machine where the masternode is running), but you keep them locally on your wallet, so only you have access to them.
- Send exactly 2,500 HELP to the collateral address you generated previously
- At the end of this tutorial, you will have to submit a ProRegTx; you need to check to have minimum 15 confirmations before submitting the ProRegTx
- Generate first address (
ownerKeyAddr & votingKeyAddr) as follows:
- Generate a second address (
payoutAddress) where you receive the passive income
*it is also possible to use an address external to the wallet
- Generate a third address (
feeSourceAddress) to pay the ProRegTx transaction fee.
- Send a small amount (e.g. 1 HELP) to the third address you generated previously (for example,
Prepare ProRegTx transaction
- Identify the funding transaction (where you sent 2,500 previosuly)
"8d6bfcf94124fb2a54a0b5aa307c7f5a02dd6e93074ce3cfda02262f01ea9d4b" : "1",
- We will now prepare an unsigned ProRegTx special transaction using the
protx register_preparecommand. This command has the following syntax:
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr operatorPubKey votingKeyAddr operatorReward payoutAddress (feeSourceAddress)
collateralHash: The txid of the 2500 Help collateral funding transaction
collateralIndex: The output index of the 2500 Help funding transaction
ipAndPort: Masternode IP address and port, in the format
ownerKeyAddr: First address generated above for the owner/voting address
operatorPubKey: The BLS public key generated above (or provided by your hosting service)
votingKeyAddr: First address generated above
operatorReward: Percentage of the block reward allocated to the operator as payment
payoutAddress: Second address to receive the owner’s masternode rewards
feeSourceAddress: Third address used to fund ProTx fee.
Example (remove line breaks if copying, must be all on a single line):
"tx": "03000100018361fb50d3fba5480a04beb7c848f409bfcbf4f8db0d430716ff6236ceb31a030100000000feffffff0121dff505000000001976a914ed5de0c03ebbf2bf379f1345eca8718c33d8d8b588ac00000000d10100000000004b9dea012f2602dacfe34c07936edd025a7f7c30aab5a0542afb2441f9fc6b8d0100000000000000000000000000ffff8a4406001e61db7de64776bec5b6ae0934b8f2e52a00815b9af38fca96ba112938a5baa7f8a652768c0f01bd069da0c33cbbeb23be04d06a27a32e4f2fcf2cb4c837750ab6c19cc6472ddb7de64776bec5b6ae0934b8f2e52a00815b9af300001976a91465ad2f8c8aa172b7dd54b28c93005ad64be79c5088ac6714abea14054bef77fb7b4306e87ddf95cdfbbf106823c54f00ce614d51599300", "collateralAddress": "Xg8A28mRS58dQiFMH9i8cdj46j6voZ6sjn",
Next we will use the
signMessage fields to sign the transaction, and the output of the
tx field to submit the transaction.
Sign the ProRegTx transaction
- We will now sign the content of the
signMessage. The command takes the following syntax:
signmessage address message
address : is the
collateralAddress from the previous output (for example,
message: is the
signMessage from the previous output(for example,
Submit the ProRegTx transaction
- We will now submit the ProRegTx special transaction to the blockchain to register the masternode. The command takes the following syntax:
protx register_submit tx sig
tx: The output field
sig: The output from the
- Your masternode is now registered and will appear on the Deterministic Masternode List after the transaction is mined to a block.
- You can view this list on the Masternodes -> DIP3 Masternodes tab of the Help Core wallet
- At this point you can go back to your virtual machine's terminal window and monitor your masternode using :
~/.helpcore/help-cli masternode status
Subscribe to GoHelpFund Blog
Get the latest posts delivered right to your inbox