Ursa Masternode Guide
INTRODUCTION
Setting up a masternode on the Ursula Blockchain can be a rewarding way to contribute to the network's operations while earning rewards. This guide will walk you through the process of setting up your own Ursula Blockchain masternode, from preparing the necessary requirements to configuring and running your node.
Note:
- This guide assumes you have basic knowledge of Linux and command-line interfaces. If you're new to these concepts, consider seeking assistance or educating yourself further before proceeding.
- If you have difficulty setting up a masternode, you can use masternode services
Requirements:
Technical Knowledge: Basic understanding of Linux commands and terminal usage.
Hardware: A dedicated server or Virtual Private Server (VPS) meeting the minimum requirements:
CPU: Multi-core processor (2 cores or more)
RAM: At least 2GB (more recommended)
Storage: 20GB of free disk space (SSD recommended)
Network: Stable and high-speed internet connection
Ursula Blockchain (URSA) Coins: 200,000 of Ursula Blockchain coins URSA to use as collateral for your masternode.
Static IP Address: Obtain a static IP address for your VPS or server.
This documentation describes the commands as if they were entered in the Ursula GUI by opening the console from Window > Console, but the same result can be achieved on a masternode by entering the same commands and adding the prefix ~/.ursacore/ursa-cli to each command.
login and download latest ursa wallet
mkdir ~/.ursacore && touch ~/.ursacore/ursa.conf nano ~/.ursacore/ursa.conf
ursa.conf
#---- rpcuser=XXXXXXXXXXXXX rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX rpcallowip=127.0.0.1 #---- listen=1 server=1 daemon=1 #---- #masternodeblsprivkey=BLS_SECRET externalip=XXX.XXX.XXX.XXX #----
note : change your rpcuser, rpcpassword, and externalip (IP VPS)
cd ~/.ursacore wget https://github.com/BigUrsula/ursa/releases/download/0.22.0.1/linux-0.22.0.1.tar.gz tar -xvf linux-0.22.0.1.tar.gz chmod +x * ./ursad -daemon
Register your masternode
Open your GUI wallet. Go to Tools -> Debug console.
Generate a BLS key pair
command : bls generate
Example output { "secret": "6095607567io5kt456j45ut94o40934t459t045ut549694t45", "public": "349569304534673490860934t4ji6594064095tj4j4jgskjerhjj48756940oekl5j64l56u4803464096" }
BLS_SECRET_OUTPUT : 6095607567io5kt456j45ut94o40934t459t045ut549694t45 BLS_PUBLIC : 349569304534673490860934t4ji6594064095tj4j4jgskjerhjj48756940oekl5j64l56u4803464096
These keys are NOT stored by the wallet and must be kept secure, similar to the value provided in the past by the masternode genkey command.
back to VPS replace BLS_SECRET with BLS_SECRET_OUTPUT and don't forget remove # #masternodeblsprivkey
replace #masternodeblsprivkey=BLS_SECRET with masternodeblsprivkey=BLS_SECRET_OUTPUT
~/.ursacore/ursa-cli stop nano ~/.ursacore/ursa.conf
#---- rpcuser=XXXXXXXXXXXXX rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX rpcallowip=127.0.0.1 #---- listen=1 server=1 daemon=1 #---- masternodeblsprivkey=6095607567io5kt456j45ut94o40934t459t045ut549694t45 externalip=XXX.XXX.XXX.XXX #----
back to your local GUI wallet
If your wallet is protected by a password, it must now be unlocked to perform the following commands. Unlock your wallet for 5 minutes:
walletpassphrase yourSecretPassword 300
create an address and send MASTERNODE FEE:
command : getnewaddress
Example output MASTERNODE_FEE UjZVt49WsQd6XSrPVAUGXtJccxviH9ZQpN
example command : sendtoaddress "UjZVt49WsQd6XSrPVAUGXtJccxviH9ZQpN" 1
create an address and send the MASTERNODE COLLATERAL:
command : getnewaddress
output UfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip
example command : sendtoaddress "UfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip" 200000
command : masternode outputs
{ "16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3": "1" } COLLATERALHASH : 16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3
create an address for THE OWNER OF THE MASTERNODE:
command : getnewaddress
Example output OWNER_ADDRESS UfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg
create an address for used for PROPOSAL VOTING:
command : getnewaddress
Example output VOTING_ADDRESS UVAvotingaddress34903jj345u8934fh
create an address to receive the MASTERNODE REWARD:
command : getnewaddress
Example output REWARD_ADDRESS UMnodeRewardsouweknjenf0839472fe45tv
PROTX REGISTER_PREPARE
command : protx register_prepare [COLLATERALHASH] 1 [IPVPS:PORT] [OWNER_ADDRESS] [BLS_PUBLIC] [VOTING_ADDRESS] 0 [REWARD_ADDRESS] [MASTERNODE_FEE]
example command : protx register_prepare 16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3 1 156.68.47.23:28610 UfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg 349569304534673490860934t4ji6594064095tj4j4jgskjerhjj48756940oekl5j64l56u4803464096 UVAvotingaddress34903jj345u8934fh 0 UMnodeRewardsouweknjenf0839472fe45tv UjZVt49WsQd6XSrPVAUGXtJccxviH9ZQpN
output { "tx": "030001000175c9d23c2710798ef0788e6a4d609460586a20e91a15f2097f56fc6e007c4f8e0000000000feffffff01a1949800000000001976a91434b09363474b14d02739a327fe76e6ea12deecad88ac00000000d1010000000000e379580dcfea3eb6944bfbe1de5fa2317932e260acce4d9ff3ede5f4287a34160100000000000000000000000000ffff2d4ce6ef4e1fd47babdb9092489c82426623299dde76b9c72d9799f20ed1538e28259ff80044982372519a2e6e4cdedb01c96f8f22e755b2b3124fbeebdf6de3587189cf44b3c6e7670ed1935246865dce1accce6c8691c8466bd67ebf1200001976a914fef33f56f709ba6b08d073932f925afedaa3700488acfdb281e134504145b5f8c7bd7b47fd241f3b7ea1f97ebf382249f601a0187f5300", "collateralAddress": "UfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip", "signMessage": "UMnodeRewardsouweknjenf0839472fe45tv|0|UfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg|UVAvotingaddress34903jj345u8934fh|21ggjfc3eda3eb6321011435yf4333ea94bedc327d17fff8640fabbddee284d1" }
TX : 030001000175c9d23c2710798ef0788e6a4d609460586a20e91a15f2097f56fc6e007c4f8e0000000000feffffff01a1949800000000001976a91434b09363474b14d02739a327fe76e6ea12deecad88ac00000000d1010000000000e379580dcfea3eb6944bfbe1de5fa2317932e260acce4d9ff3ede5f4287a34160100000000000000000000000000ffff2d4ce6ef4e1fd47babdb9092489c82426623299dde76b9c72d9799f20ed1538e28259ff80044982372519a2e6e4cdedb01c96f8f22e755b2b3124fbeebdf6de3587189cf44b3c6e7670ed1935246865dce1accce6c8691c8466bd67ebf1200001976a914fef33f56f709ba6b08d073932f925afedaa3700488acfdb281e134504145b5f8c7bd7b47fd241f3b7ea1f97ebf382249f601a0187f5300 COLLATERAL_ADDRESS : UfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip SIGN_MESSAGE: UMnodeRewardsouweknjenf0839472fe45tv|0|UfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg|UVAvotingaddress34903jj345u8934fh|21ggjfc3eda3eb6321011435yf4333ea94bedc327d17fff8640fabbddee284d1
SIGN MESSAGE
command : signmessage "[COLLATERAL_ADDRESS]" "[SIGN_MESSAGE]"
example command : signmessage "UfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip" "UMnodeRewardsouweknjenf0839472fe45tv|0|UfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg|UVAvotingaddress34903jj345u8934fh|21ggjfc3eda3eb6321011435yf4333ea94bedc327d17fff8640fabbddee284d1"
output II8JvEBMj6I3Ws8wqxh0bXVds6Ny+7h5HAQhqmd5r/0lWBCpsxMJHJT3KBcZ23oUZtsa6gjgISf+a8GzJg1BfEg=
SIGNMESSAGE_OUTPUT : II8JvEBMj6I3Ws8wqxh0bXVds6Ny+7h5HAQhqmd5r/0lWBCpsxMJHJT3KBcZ23oUZtsa6gjgISf+a8GzJg1BfEg=
PROTX REGISTER_SUBMIT
command : protx register_submit [TX] [SIGNMESSAGE_OUTPUT]
example command : protx register_submit 030001000175c9d23c2710798ef0788e6a4d609460586a20e91a15f2097f56fc6e007c4f8e0000000000feffffff01a1949800000000001976a91434b09363474b14d02739a327fe76e6ea12deecad88ac00000000d1010000000000e379580dcfea3eb6944bfbe1de5fa2317932e260acce4d9ff3ede5f4287a34160100000000000000000000000000ffff2d4ce6ef4e1fd47babdb9092489c82426623299dde76b9c72d9799f20ed1538e28259ff80044982372519a2e6e4cdedb01c96f8f22e755b2b3124fbeebdf6de3587189cf44b3c6e7670ed1935246865dce1accce6c8691c8466bd67ebf1200001976a914fef33f56f709ba6b08d073932f925afedaa3700488acfdb281e134504145b5f8c7bd7b47fd241f3b7ea1f97ebf382249f601a0187f5300 II8JvEBMj6I3Ws8wqxh0bXVds6Ny+7h5HAQhqmd5r/0lWBCpsxMJHJT3KBcZ23oUZtsa6gjgISf+a8GzJg1BfEg=
output aba8c22f8992d78fd4ff0c94cb19a5c30e62e7587ee43d5285296a4e6e5af062