This article will offer a guide for using Mainchain — it will be focusing on TestNet, but the information will apply equally to MainNet on its imminent launch.
We’ll be covering the main tools currently available — the UND Web Wallet Chrome extension, Block Explorer and for TestNet, the Test UND Faucet — and how to use these tools to create a wallet and an address, transfer UND and stake UND by delegating it to existing EV nodes.
Note: There will be a separate, more technical article covering running full nodes, light nodes and becoming a Validation Node and self-delegating UND published soon.
- You can make a new wallet using our Chrome browser extension
- Inside this wallet you can securely delegate UND to nodes who will stake these for you and keep a commission % of the rewards.
- The commission % will be decided by the node and hard coded so they can’t increase it past max amount.
- You always own your private keys and UND, so a rogue node cannot steal your UND.
- You can always re-delegate your UND to another node which is an instant process or unbond and withdraw it. Unbonding UND from staking for transfer to another wallet takes 21 days cool-down.
- Enterprise purchased UND is locked so it can only be used to pay for network resources and cannot be transferred or staked
- You can transfer UND and view Transaction history
- Running your own full node and becoming an EV will be covered in a separate article and video
Wallets and Accounts — Creating a Wallet
The first thing you will need to interact with Mainchain is a wallet. Your wallet will contain your private key which — will be used to sign transactions for Mainchain — and your address. A wallet can be created using either the
undcli binary, or by installing the UND Web Wallet Chrome browser extension. We’ll cover just the Chrome browser extension here.
First, install the UND Web Wallet Chrome extension, available here: https://chrome.google.com/webstore/detail/und-web-wallet/mkjjflkhdddfjhonakofipfojoepfndk
Once installed, click the UND Web Wallet icon in your toolbar to open the wallet extension.
- Click on “My Wallet” followed by “Create a Wallet”
- Enter a secure password. This password will be used to encrypt and subsequently unlock your wallet file. Click “Create”
- Before your wallet file can be downloaded, you will be shown your mnemonic — you will need to write this down somewhere safe, as it is the only way you can recover a wallet if you lose or delete the file. The mnemonic can also be used to import your wallet into
undcli. Once you have confirmed that you have saved the mnemonic, your wallet file will download.
Your wallet file will be called something along the lines of
Wallets and Accounts — Unlocking your Wallet
Once you have created a new wallet file, you can unlock it to view your current balance, and execute Mainchain transactions. Before doing any of the following, ensure the network selected is TestNet. The “Network” in the top nav-bar should read “UND-Mainchain-TestNet”.
- Click on “My Wallet” followed by “Unlock Wallet”
- Select your wallet file and enter the password you used when you created it
- Click on “Unlock”
Once unlocked, you should see details regarding your balance, wallet address, and the options available such as Transfer, Transactions and Staking.
If you have unlocked a brand new wallet, your balance will be 0UND. You can’t really do anything with 0UND, so you can use the TestNet Faucet to get some Test UND. Copy your Wallet Address, and open https://faucet-testnet.unification.io, then simply enter your wallet address, click the ReCaptcha verification and finally the “Request 10 Test UND” button. The Faucet will credit your account with 10UND — this may take a few seconds to process. There is no inherent limit to how many times you can use the faucet, but please be respectful as Test UND are limited.
You should now see that you have a balance of 10UND in your wallet.
Wallets and Accounts — Simple UND Transfers
Back in your wallet, click on the Transfer tab. Here, you can transfer UND to another wallet address:
- Enter, for example, 1.1 as the amount to transfer
- Enter und1fv2rwmh84l3yca2yatgcqr8hggglr582fe9qz2 as the address to send it to. Alternatively, create a new wallet, and send it to this new address.
- You can also manually set the fees (fees are in
nund) and gas by clicking on the “Manually set fees” checkbox. The defaults will work for now. Note: if you set fees or gas too low, your Transaction may not be processed by the network.
- Click “Transfer” — you will be prompted to confirm the transaction. Upon confirmation, the transaction will be signed and broadcast to the network.
Finally, if the transaction was successfully broadcast, it will appear in the “Transactions” tab in your wallet. Blocks take on average 5 seconds to be produced, so you may need to click the “Refresh” button within the Transactions tab (not your browser refresh button) a couple of times.
You will also notice that your Available Balance has been reduced by the amount of UND sent, along with the fees used to pay for the Tx.
You can use the block explorer available at https://explorer-testnet.unification.io/ to view the current status of the network, blocks, all transactions (including failed transactions), and account details. Visiting https://explorer-testnet.unification.io/transactions will list the latest transactions submitted to the network, while searching for your wallet address will bring up details specific to your wallet, including categorised transactions.
Staking — Delegating UND
Staking plays a large role in the running of Unification Mainchain. However, not everyone wants to (or can) run a full node and become a full EV node operator. Thankfully, it’s still possible to delegate your UND to an existing validator and earn commission from any blocks they produce. This can all be handled via the UND Web Wallet.
We’ll run through the steps for delegating your UND to an existing validator below.
- Unlock your wallet if you have not already done so, and grab another 10 Test UND from the TestNet faucet.
- Click on the “Staking” tab, followed by the “Delegate” tab below this.
- Select one of the validators from the drop-down list of existing validators. The details for each node can also be found via the Block Exporer.
- Enter 10 as the amount to delegate and click the “Delegate” button.
Once confirmed, your transaction will be signed and broadcast to the network. After a few seconds, you should notice that your wallet summary has changed and now includes information regarding your staked UND
Your Available Balance has been decreased by the amount you delegated. The Available Balance is the amount of UND available in your wallet for transfers and further staking.
The wallet now also displays your “Total Balance”. This balance is all UND in your wallet, including your available balance, along with any UND delegated to a validator, any UND currently unbonding, and any locked Enterprise UND.
The Staking summary tells you how many validators you have delegated UND to, along with the total number of shares, staked UND and rewards you have yet to claim from validators.
Staking — Viewing Delegation Details, Undelegating, Redelegating and Claiming Rewards
You can view your current UND delegations via the “Delegations” tab in the Staking section of your wallet. Clicking on the “Show Details” button will display a number of options along with further information regarding the validator you have delegated UND to.
You can undelegate (unbond) UND from a validator by clicking the “Undelegate” button. You cannot undelegate more UND than you have staked in the validator, and unbonding has a 21 day cool-down in order to protect the network. This means that the unbonded amount will be available for you to transfer, re-stake etc. in 21 days.
Further, you can view the progress and completion date of undelegated UND in the “Unbonding Delegations” tab
Similarly, you can redelegate UND from one validator to another. Redelegated UND is instantly applied to the new validtor, and you start earning rewards form the new validator staight away, but similar to undelegating, there is a cool-down period for redelegation. This means that your redelegated UND cannot be undelegated or (re-)redelegated during the cool-down period, and you can’t re-delegate between the same two validators during the cool-down period. For example, you have 100 UND delegated to “Validator 1”. You see that “Validator 2” offers better commission, and therefore redelegate your 100 UND to “Validator 2”. The transfer is instant, and you start earning rewards from “Validator 2” straight away, but your staked 100 UND enters the cool-down period meaning you will have to wait before undelegating them from “Validator 2”, redelegating them to another validator, or starting another re-delegation process between the same two validators.
Like Undelegating, you cannot redelegate more UND than you have staked for that validator.
After some time, you will accumulate commission from each validator you have delegated UND to. Once your rewards for that validator are more than 0nund, the “Claim Rewards” button will become visible and you will be able to claim the rewards. These rewards will then be credited to your wallet.
The more UND you delegate, the higher your rewards will be.
Any outstanding rewards are automatically claimed when you either undelegate, redelegate, or delegate more UND to a validator you are already currently delegating to.
Notes on Denomination
The native coin denomination on Mainchain (MainNet, TestNet and DevNet) is
nund, or "Nano UND", such that 1,000,000,000 nund = 1 UND. Under the hood, all transactions, fees, delegations etc. are executed and paid for using
Web Wallet automatically converts UND to
nund for you when transferring and delegating etc. You may notice, however, that some information in your wallet (such as rewards, balance, and transaction details) will sometimes be displayed as
nund instead of UND if the value is less than the sensible threshold. For example, instead 0.000024UND, you will see 24000nund.
For simple bugs and feature requests, reports can be submitted to https://docs.google.com/forms/d/e/1FAIpQLSee8yZGgR8H3h2pLnENNQ_tcpgdrk0UagKd_GeGElWeTEwtwA/viewform
For more technical issues advanced users can raise an issue in the Github repo: https://github.com/unification-com/web-wallet/issues
Hopefully, this guide will get you up and running interacting with Mainchain!
As always, feel free to track our overall progress — all of our public repos are available at https://github.com/unification-com
Paul Hodgson, Unification CTO