Incentivized testnet (Changelog)

amanai
Dfinance
Published in
6 min readOct 15, 2020

Today marks a significant milestone for Dfinance — the launch of the incentivized testnet. The incentivized testnet is a basically a mainnet simulation that uses real XFI coins and LP tokens for staking operations and allows users to earn real rewards using Dfinance staking mechanisms .

While this article contains mostly technical changes of the new testnet version, we also invite you to read the incentivized testnet introduction blog post which covers the general mechanics..

The new version testnet version includes the following features, bug fixes and improvements:

Dfinance Virtual Machine (DVM)

As we are preparing to launch the first financial instruments using the Dfinance High-Level Language and Move language, most of the DVM changes are focused on enabling that functionality. These changes also pave the path for quick development of new solutions around Move VM and Dfinance:

  • DVM merged with the latest Move VM version.
  • New Token module released: users may now register their own tokens. Token owners control the minting of their token.
  • Added support for u256 type, currently implemented on the DVM side. (Support for Dnode will be enabled in the next release).
  • Refactoring and repository reorganizations: all tools move to move-tools, standalone compiler “movec” merged with “executor” tool, added sequential scripts run and oracle prices to “executor” tool.
  • Various improvements in the Intellij IDEA Move plugin.
  • To make it possible to serialize/deserialize Move VM data from Javascript, we implemented our own module lcs-js. This will help dapp and financial instruments developers as it significantly simplifies the work with Dfinance smart contracts.
  • Released Dfinance javascript library. It allows iteration with the Dfinance network using javascript: create new accounts, compile modules/scripts, publish modules, execute scripts and filter events. The library is in active development, but has already proven very valuable in the development of our financial instruments.
  • Added an error which is returned if a multi-module (source code file which contains several modules) is passed to a single-module gRPC method. Compilation of multiple modules is currently disabled.

Dfinance node (DNode)

Incentivized staking introduces new inflation mechanics and a number of improvements.

The current testnet denominator for staking is sXFI while the denominator for liquidity staking is called LPT. For security reasons, both sXFI and LPT can not be transferred within the network, and both can be used only for staking.

Testnet XFI can be used for transactions (and transaction fees). You can request testnet XFI from the faucet which is available in the wallet.

  • Added support for the new DVM version.
  • The Oracle module now supports reverse rate — meaning that if the oracle supports fetching of ETH/USDT prices, it will now also support USDT/ETH.
  • Added simplified proposal command for modules params change. This allows modifying almost any Dfinance network module parameters through governance, and without hard forks.
  • sXFI and LPT staking mechanisms enabled, now users can stake their sXFI and LPT during the incentivized testnet and earn real XFI as inflation rewards.
  • Annual maximum inflation per year set to 50%, minimum inflation per year set to 17.76%. Inflation dynamic and is based on the amount of sXFI staked.
  • Fee burning mechanism: the current fee burning ratio is 50%, which means that 50% of fees paid to the network will be burned every block to stabilize inflation. This mechanism does not affect the current testnet, as network fees are paid in testnet XFI.
  • Added inflation rewards pools: validators (48.25%), liquidity providers [LP staking] (48.25%), public treasury (1.5%) and HARP (High-Availability Rewards Pool) (2%). The inflation mechanism also creates a dynamic inflation reward amount per block which is allocated to the Foundation treasury for continuous development. These reward pools allow the distribution of inflation rewards to validators, PoS delegators, liquidity providers, public treasury (which will be managed by governance mechanics) and the foundation treasury. The HARP pool is used to reward the top 15 validators (currently disabled until mainnet).
  • Locking rewards mechanism — will be enabled during mainnet, currently disabled. Increases the rewards for validators who agree to lock inflation rewards for themself and their delegators for a period of 12 months.
  • Set the minimum self-delegation for validators to 2500 SXFI. This means that creating a validator requires a minimum self-stake 2500 SXFI. Self-stake is part of the security model and is expected to increase the competition between validators and remove low-quality validators.
  • Delegation limit mechanism — each validator has a maximum amount of sXFI he can receive as delegations from other delegators. The current limit is set to 10 times the self-delegation amount. So, if your validator was set up with a self delegation amount of 2500 SXFI, your validator can receive a total 2500 x 10 = 25,000 sXFI in delegations (including your self-stake). We hope this mechanism will bring more validators to the Dfinance network and generate more competition between validators.
  • Force-unbonding mechanism in case of a validator breaking delegation limits. If the validator removes part of his self-stake, as a result he gets more delegates’ sXFi and breaks the delegation limit. Through the force-unbonding mechanism — delegators have 72 hours to redelegate their sXFI to another validator without a penalty.
  • Fixed — generate-only feature in dncli, now it’s possible to sign transactions offline.
  • Tested and enabled Ledger support with dncli, read more in our documentation.
  • Implemented support for Staking Gateway functionality.
  • Migrated from the fixed (hardcoded) Move VM paths to the GLAV module path builder.

PegZone

We are currently developing a new PegZone version which will be enabled after the mainnet launch. The current PegZone implementation has been disabled in the testnet.

The new PegZone will be based on Cosmos Althea Peggy implementation. The smart contracts are already in development, as are the validator nodes, and are expected to be deployed to the testnet in the coming weeks.

UI

We are happy to announce Ledger support has been added to the Dfinance wallet UI. You can now use your ledger device when interacting with our wallet, through the Ledger Cosmos app.

To access your wallet using your Ledger wallet follow these steps:

  • Install Cosmos Ledger App using the official instructions.
  • Launch the Cosmos App on your ledger device and visit the wallet, login by clicking on ‘Unlock with Ledger’ button and follow the instructions that appear on your screen.

We invite you to read our documentation for additional details.

Additional UI changes:

  • The UI (include wallet, explorer) is now based on the same code-base and is using the Dfinance Javascript sdk, which will help speed up our development.
  • Support for re-delegations added. You can now re-delegate your stake from one validator to another using the UI.
  • Support for sXFI and LPT staking, balances, and other functionalities.
  • Governance UI alpha — currently disabled. will be released in the coming weeks.

Staking

As already mentioned, the incentivized testnet uses real XFI and LP tokens.

You can read more about XFI tokens and LP tokens in this blog post.

To make the transfer of XFI and LP tokens possible, we developed the Staking Gateway portal. Using the Staking Gateway portal, you can transfer your real XFI and LP tokens to the Dfinance network and bind the assets to your Dfinance wallet. XFI and LP tokens remain safe as they are stored in an audited Ethereum smart contract and can be withdrawn from the smart contract at any time. Your smart contract balance never changes.

After transferring, your XFI and LP tokens will appear in your Dfinance wallet as sXFI and LPT coins. sXFI and LPT are not transferable within the Dfinance network, and can only be used for delegation or to create a validator.

If you want to withdraw your XFI or LP, you can do so through the Staking Gateway. Please note that by withdrawing during the incentivized testnet period, you will lose any rewards generated through delegations or staking.

Before the launch of the mainnet we will temporarily disable XFI withdrawing on the Staking Gateway, however LP tokens will still be available to withdraw. This is required in order to safely migrate balances, delegations and validators to mainnet. We will notify users about the lock in advance.

What’s next

After the launch of the incentivized testnet, we are going to continue to work hard and focus our efforts towards the launch of the Dfinance mainnet, estimated for next month.

The HLL (High Level Language), the main feature of Dfinance, has also been seeing significant progress and is currently being connected with the blockchain layer. We are also preparing the groundwork towards the first supported instruments: CDP (Collateralized Debt Position) and DRO (Debt Risk Option).

Stay tuned for new updates! We invite everyone to follow us on our social channels, join the discussions on our telegram and discord channels and subscribe to our newsletter.

Website | Twitter | Telegram | GitHub | Blog | Discord | Documentation

--

--