How to perform staking on the Harmony blockchain

Intermediate

 

How to perform staking on the Harmony blockchain

This documentation explains how to perform staking on the Harmony blockchain through a multisig safe using the website https://multisig.harmony.one. The instructions assume that you have navigated to the website, loaded your safe, and have enough funds to stake. It also assumes that you have the validator address to which you plan on staking or unstaking. The tutorial covers the steps necessary to delegate (stake) and undelegate (unstake) using the website and contract interaction form, as well as how to collect rewards. To stake, you will need to enter the contract address, ABI, delegator address, validator address, and amount of ONE to stake. To unstake, you will follow the same process but select “Undelegate” instead of “Delegate”. To collect rewards, you will enter the contract address and ABI, and the delegator address, and select “CollectRewards”. The final step for each process is to review, submit, and sign the transaction with the required parties.

Pre-requisites

  • Navitate to

  • Load your safe

  • Have enough funds to stake

  • Note down the validator address to which you plan on staking/unstaking

Delegation (Staking)

  1. Navigate to “New Transaction” and select “Contract Interaction”

 

 

 

Enter 0x00000000000000000000000000000000000000FC into the “Contract Address” field of the Contract Interaction form.

Copy paste the text below into the ABI field in the Contract Interaction form

[
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegatorAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "validatorAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Delegate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
]

 

 

Select “Delegate” from the drop-down.

Enter the delegator address (your multisig safe address) and validator address. Note that these have to be in the

0x format and not one1. You can easily get the 0x formatted address of your one1 from https://explorer.harmony.one “Address Format” toggle on the top.

Enter the amount of ONE to stake. Note that, you have to append 18 zeros to your number as the amount is expected in the

wei units and not ONE. For example, if you want to stake 100 ONE, you will write 100000000000000000000 (notice the 18 zeros after 100).

Click on “Review”, “Submit”, and sign the transaction. Rest of the steps are usual multisig signing where all required parties sign this transaction.

Undelegation (Unstaking)

Navigate to “New Transaction” and select “Contract Interaction”

Enter 0x00000000000000000000000000000000000000FC into the “Contract Address” field of the Contract Interaction form.

Copy paste the text below into the ABI field in the Contract Interaction form

[
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "delegatorAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "validatorAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Undelegate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
]

 

 

Select “Delegate” from the drop-down.

Enter the delegator address (your multisig safe address) and validator address. Note that these have to be in the

0x format and not one1. You can easily get the 0x formatted address of your one1 from https://explorer.harmony.one “Address Format” toggle on the top.

Enter the amount of ONE to stake. Note that, you have to append 18 zeros to your number as the amount is expected in the

wei units and not ONE. For example, if you want to stake 100 ONE, you will write 100000000000000000000 (notice the 18 zeros after 100).

Click on “Review”, “Submit”, and sign the transaction. Rest of the steps are usual multisig signing where all required parties sign this transaction.

Collect Rewards

Navigate to “New Transaction” and select “Contract Interaction”

Enter0x00000000000000000000000000000000000000FC into the “Contract Address” field of the Contract Interaction form.

Copy paste the text below into the ABI field in the Contract Interaction form

[
    {
        "inputs": [
          {
            "internalType": "address",
            "name": "delegatorAddress",
            "type": "address"
          }
        ],
        "name": "CollectRewards",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
      }
]

 

Select “CollectRewards” from the drop-down.

Enter the delegator address (your multisig safe address)

Click on “Review”, “Submit”, and sign the transaction. Rest of the steps are usual multisig signing where all required parties sign this transaction.