Guide: Staking - Hemis-Blockchain/Hemis GitHub Wiki
REMINDER: PLEASE ENSURE THAT YOU ENCRYPT YOUR WALLET AND KEEP A COPY OF YOUR PASSWORD AND WALLET.DAT IN A SAFE PLACE. IF YOU LOSE THESE, YOU LOSE YOUR TOKENS.
There are three main ways to stake your Hemis tokens.
Type | Who is this for? |
---|---|
Local Hot Wallet (Easiest method) | Anyone who can keep their machine online 24/7 |
Local Cold Wallet -> Delegate (Friend or Service) | Anyone who can’t keep their machine online 24/7 but have a friend or service that can cold (delegated) stake for them. |
Local Cold Wallet -> Self Hosted VPS | Anyone who can't keep their machine on 24/7 and has some technical skills. |
A Hot Wallet is a wallet that is connected to the network (24/7). A Cold Wallet is wallet that can be offline.
Staking is easy! All you need to do is leave your wallet open (preferably 24/7) and ensure that your wallet is unlocked for staking by choosing this option from the top right hand corner of the wallet.
Your tokens will need 300 confirmations before staking will start. This will take a minimum of 6 hours…please be patient! Your wallet does not have to be open while these confirmations happen but you will need to have your wallet synchronized and unlocked to receive staking payments.
The second option is a solution for people that cannot keep their machine online and still want to stake. Cold staking (or delegated staking) allows you to have someone else stake on your behalf using the tokens in your offline (cold) wallet. Since you keep control over your tokens, this method is also 100% safe. Your delegate (the one that stakes on behalf of you) needs to be online 24/7 though for this method to have merit.
There is no network incentive for delegated staking. This means that all the rewards go to the cold wallet and the delegate does it pro bono.
Part 1: Preparation
Coin holder (cold wallet)
- Synchronize your wallet. Your wallet will need to be online and synchronized to set up cold staking.
- Familiarize yourself with cold (delegated) staking.
Delegate (hot wallet)
- Install the latest version of the Hemis wallet and complete the initial setup if you haven’t done so already. Your wallet must remain online 24/7 to stake effectively.
- Generate a Staking Address: Within the wallet, generate a new address dedicated to staking. This address will be used to receive the delegation from the coin holder. To do this, enable the cold staking menu by clicking the snowflake in the top right hand corner of the wallet.
Once the cold staking menu has been enabled, click it. Then click Staker
, choose Create Cold Staking Address
and enter your password if requested. You will then be presented with the following window.
If you like you can set a limit of how many tokens somebody can stake with you. Its useful to add a label and a description so you can keep track of who is staking their tokens with you. Press generate. The Coin Holder will need this address to continue.
Part 2: Initiating Cold Staking
Coin Holder (cold wallet): Create a Delegation Contract
- Navigate to the cold staking section of your Hemis wallet.
- Select the option to delegate coins for cold staking.
- Enter the amount of HMS that you wish to stake.
- Input the staking address provided by the delegate.
- Confirm the transaction by clicking
DELEGATE
.
Delegate (hot wallet)
- Accept the delegation by whitelisting the Coin Holder (cold wallet)
Part 3: Monitoring and Managing
Coin Holder:
- Monitor Staking Activity: Use your wallet to track the staking process and rewards.
- Withdraw Rewards: You can spend your rewards at any time without affecting the staked amount or the staking process.
- Cold staked tokens are not locked. You can spend them anytime but this will break the delegate contract.
Delegate:
- Ensure Wallet Connectivity: Keep your wallet connected to the internet and running. Regularly check to ensure it is staking correctly and not experiencing any issues.
- Communicate with the Coin Holder: Update the coin holder on the staking performance and any potential issues with the wallet or network.
Part 4: Security and Best Practices
- Trust and Communication: While staked coins are not risked, cold staking still relies on trust between the coin holder and the staker. Maintain open lines of communication and ensure both parties are clear on expectations and responsibilities.
- Security Measures: Both parties should practice good security hygiene, such as using strong, unique passwords for their wallets and keeping their backup phrases secure and private.
- Regular Updates: Ensure both wallets are kept up to date with the latest software versions to benefit from security patches and new features.
If you don't have anyone to delegate your cold staking to, or you want to be in control yourself, you can use a VPS to act as a delegate for you. It is the same method as described above. But here we'll make our own delegate on a VPS while our coins stay in our own cold wallet.
Step 1 (Check your local wallet):
Ensure that the wallet that contains your Hemis tokens is open and syncronised.
Step 2 (Setup your VPS):
Start a VPS instance with your chosen provider. You’ll need 2GB of memory and Ubuntu 22 or 23.
Log in to your VPS and paste the following command:
wget https://raw.githubusercontent.com/Hemis-Blockchain/Hemis/main/vps-install.sh && bash vps-install.sh
This will install the latest version of Hemis onto your VPS. Wait for it to finish.
You should see a message:
Hemis server starting
Give it 5 minutes to download the blockchain and synchronize.
Then, still on your VPS, type
Hemis-cli getnewstakingaddress
This will return a Hemis Staking address. Copy this and save it.
Step 3:
Go back to your local Hemis wallet on your computer. Here, click the snowflake on the top-right (cold-staking enabled).
This will open a new button in your wallet menu on the bottom left called COLD STAKING
. Click that.
On the next page you will paste the address we got in step 2 into the field Cold Staking Address
Next to it you’ll fill in the amount of tokens you want to stake.
You can leave the Label
and Owner
address boxes empty.
Now click Delegate
.
This will send a very simple contract to the network. It says that your delegate (your VPS) can stake on behalf of your (cold wallet) tokens.
Step 4:
We’ll need to let the delegate (your VPS) know that it is OK to stake your tokens.
For this, go to COLD STAKING
, click on Staker
, click on whats listed under Delegated balance history
and copy the address.
Next, go to your VPS and type:
Hemis-cli delegatoradd <ADDRESS>
Paste in the address we just copied instead of <ADDRESS>
. The VPS will return
true
Your VPS is now staking on behalf of your cold wallet. It will take 300 confirmations for the cold staking to become active.