Every day Elrond build, Elrond break, Elrond patch, Elrond create. Here are the development highlights of the week . Network splits, patching, improvements and hard work . This Week in @ElrondNetwork is here! Thread below
2/ Battle of Nodes phase 1, wave 3 has concluded! Well done everyone so far! It's is a unique experience releasing and running the testnetnets with ~1000 validators on a network and this is the defiantly the right path to mainnet for @ElrondNetwork.
3/ Few hours after the genesis block the network faced a network split due to a bug. After patch, metachain resumed operation. Few critical bugs were discovered in the protocol during this phase which have improved the overall stabilisation and fork choice mechanism.
4/ Several rethinking steps on the overall validator engagement to provide higher security and availability by default. Work in progress.
5/ Work in progress in updating the peer state from the staking smart contract. Integrating the whole transaction processing mechanism to metachain was underestimated, a few components were missing and had to create them.
6/ First we started with a simple idea of a staking smart contract to be processed on metachain, than it evolved to a general mechanism for on-metachain smart contracts.
7/ We further brainstormed how can we use the on-metachain smart contracts to slashing, rating modification, protocol updates, like economics config, gas metering.
8/ Most of the slashing scenarios have been identified with the details of how they can be detected and verified. As a result the slashing mechanism has been described.
9/ Started work on network sharding! More tools on network testing under development. More work on fixes on peer count limiting.
Optimised the process of state trie snapshotting. The snapshot process is now run on a go-routine, so the impact on the protocol is minimal.
10/ Heartbeat improvement, to trim NodeDisplayName and AppVersion to 128 bytes.
Introduced gas limit check when a block is created or validated.
Finished mechanism which compact and expand miniblocks with the same sender-receiver pair.
11/ Improvements added to our testing tools which generates transactions. Now with a simple Rest API request we can find if the nonces and balances for all the accounts involved are correct.
12/ We added gas metering to the fastest #WASM runtime, Wasmer, by internally fixing and integrating a conflicted pull-request opened by the @wasmerio
community.
13/ Elrond IDE (as a Visual Studio Code extension) has improved. We implemented two new features: deploying and running a smart contract on nodes other than the "debug node", plus setting up the development environment by gathering & installing dependencies.
14/ Implemented the API used to call blockchain functionality from Wasmer contracts. It supports efficient handling of big integers. ERC20-template contract using http://big.Int libraries, written in C, running on WASM.
15/ Benchmarking the performance change when gas metering is activated on WASMER. The difference is only 15% for computationally intensive smart contracts. Much better than at least 2X which you would have in ETH2.0 by injecting useGas() functions.
Medium: https://medium.com/elrondnetwork
Telegram: https://t.me/ElrondNetwork
Twitter: https://twitter.com/elrondnetwork
Github: https://github.com/elrondnetwork
Website: https://elrond.com/