How to delegate your Viewly tokens without putting them at risk

Viewly Developers
Viewly
Published in
2 min readAug 9, 2018

Smart cryptocurrency users store their tokens on hardware wallets, multi-sig and cold storage setups. This does however come at the cost of convenience, whereby voting on view.ly is challenging or outright impossible.

We have found a way for sophisticated users to have their cake and eat it too. With the VotingPowerDelegator contract, users can “delegate” the voting power of their tokens to a convenient hot wallet (view.ly wallet or MetaMask), while keeping the actual tokens safe on a secure wallet.

Delegate with Etherscan and Metamask

Step 1: Go to https://etherscan.io/address/delegate.viewtoken.eth
Step 2: Paste in the beneficiary address (your hot wallet) and click Write.

Note: If you would like to remove the delegation, simply delegate to 0x0

Delegating trough Eherscan is easy

Delegate with MyCrypto and Trezor/Ledger/Metamask

Step 1: Go to https://mycrypto.com/contracts/interact

Step 2: Insert the contract address and ABI, then click Access.

Address:

0x7fC7F71da6d2d9deFF5100C8F3D8e54C97697Ad2

ABI:

[{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"delegations","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"delegatedAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"delegator","type":"address"},{"indexed":false,"name":"beneficiary","type":"address"}],"name":"Delegated","type":"event"}]

Step 3: Select “delegate” function from the dropdown menu, insert your beneficiary address (hot wallet), and sign the transaction.

And thats it.

A few more notes on delegation mechanics:

Delegation does NOT move the tokens. Your tokens stay in your cold wallet. When you delegate the voting power to another wallet, the original wallet will lose voting rights on view.ly. There is a 7 day staking period to prevent double voting trough delegation.

When you delegate:

  • Delegator loses voting power immediately
  • Beneficiary gains voting power after 7 days

When you un-delegate:

  • Delegator re-gains voting power immediately
  • Beneficiary loses voting power immediately

Delegations affect 100% of the voting stake. A beneficiary can have multiple delegators, but each account can only delegate to one beneficiary.

Delegations are not recursive. It is therefore not possible to re-delegate the tokens that were delegated to you.

And lastly, when voting, a beneficiary will need a voting threshold amount of actual tokens in their wallet (currently 100 VIEW) regardless of the amount delegated to them. This limitation is there to prevent voting spam.

--

--