🆕 nOS Post-Testnet Launch Update

A new overview of all technical updates since the nOS Testnet launch.

Dean van Dugteren
nOS - Decentralized Curation Platform
5 min readFeb 20, 2020

--

It’s been about two weeks since we launched the public nOS Testnet. Let’s take a look at the latest updates since then, and what we have in the works.

Web Wallet

Improved Validator Overview

The Validators list in the Web Wallet has been updated to display your own validator on top, if you have one.

If you have a Validator, you’ll now always see it above the validators list.

Staking improvements

Stake transactions sometimes wouldn’t be accepted by the web wallet. This was due to a caching issue with the web app’s service worker. If you experienced these issues, clear your browser cache and try again.

Transaction History

Transactions now display more details, such as the transaction type if the transaction is not a regular transfer.

Blockchain

Top Validator Rewards Update

Nodes were unable to restart correctly due to the Top Validator Bonus Rewards being bootstrapped after the balances are verified (making sure there are no negative balances).

The node software now bootstraps the Top Validator Rewards before the balances are verified.

Synchronization Update

Nodes were unable to sync from genesis correctly due to Stake Expirations being applied on each block event in no particular order (causing some blocks to try and apply transactions before that block’s rewards or stake expirations were applied).

The Top Rewards and Stake Expirations are now applied within the applyBlock() method asynchronously, rather than on a BlockApplied event.

Stake Logic Update

Nodes would try to reindex a non-existent validator wallet if a wallet’s stake expired without having voted for a validator.

This update verifies the existence of a validator before trying to reindex it in the StakeExpiration helper.

Block Explorer

Validator Monitor

We updated the Block Explorer with a Validator Monitor, which allows you to review the health of the network, the number of blocks left in a round, and the online status of validators.

The possible statuses are as follows:

  • ⏳ Online & Queued to forge a block this round.
  • âś… Online & Forged a block this round.
  • ❌ Missed a block last round

Validators can use the monitor to quickly review when they can safely update their node without missing any blocks (by updating right after they forged a block).

Voters can review the health of validators to decide how to vote.

Transaction List Improvements

More relevant details are now available in the Transactions List, such as the Vendor Field, and the total amount sent in a MultiPayment transaction.

MultiPayment Details

Recipients and amounts of in MultiPayment transactions are now visible in Transaction Details and Wallet Details.

Performance improvements

Various performance issues have been fixed by migrating the explorer from a static hosting service (using Netlify) to server-side hosting.

Upcoming Updates

Chat Channel for Validators

Next week, we’re launching a separate chat channel for testnet validators and the team to coordinate on node software upgrades.

File Transactions & IPFS

An integral part of the nOS Network is its distributed file system. Validators and wallets will be able to become curators and upload curated databases to the network. This will be powered by the network’s File Transactions and IPFS Module.

The first stage of the file system feature is to allow Validators to upload icons and descriptions, allowing them to create personalized profiles visible in the Web Wallet and Block Explorer.

These features will initially be released as core-control CLI commands, and later also in the web wallet.

Block Data Upgrade

We’re rewriting the Top Validator Rewards logic to distribute rewards within the actual block reward attribute rather than distributing bonus rewards to all top five validators at the beginning of each next round.

This update will remove the topRewards value from the block attributes, and instead only work with the block’s reward attribute.

This will increase node performance and stability, and simplify block rewards and rollback logic for future upgrades.

New Genesis Block

Since the above update will change the way blocks are signed, verified, and when block rewards are distributed, the most efficient way to upgrade the network (now that we only have a testnet) is to configure a new genesis block and restart the nodes that block.

Testnet Validator Control

After the network restart as described above, we’ll also introduce a new testnet validator selection system.

Validators should only gain a testnet forging position when they’re actually running a node, to keep the network health at a maximum and minimizing the number of missed blocks in a round.

Therefore, we’re going to utilize 47 testnet wallets to vote for validators with a significant number of votes, preventing bad actors from abusing the faucet and voting themselves into a top 47 position without running a node.

Of course, voting for validators on the mainnet will be a decentralized process as described in the whitepaper, and not be in control of the team.

This value should be 47/47

Community involvement with the testnet has helped us tremendously in improving the platform. If you’d like to get involved, join our Telegram and check out the nOS.Chat forum!

Follow nOS

Follow Dean van Dugteren

--

--