As usual, this is the weekly report, thematic: Elrondnetwork Technology
As usual, this is the weekly report, still a busy and productive week for the Elrond team.
This report is written by Robert Sasu - Core Developer (Engineer Continental, Google summer code school, E-mobility startup, Math and CS Olympiad champion, 20 patents autonomous cars, BS CS, MSc Graphics VR).
- Added gas metering directly inside WABT engine, instantiated at the constructor, called only once at the node start-up. WAVM is the next in line.
- First pre-release of Arwen WASM VM is ready. In order to further enhance the VM capabilities, an adapter on top of wasmer. This enables us to create a more general purpose adapter and to use package managers for WASM libraries.
- Furthermore, the speed of Arwen is extraordinary, in case of fibonacci32 it matches the performance of WAVM, and it is 2x faster on string concat and cpu calculate benchmarks.
- Started working on Elrond Environment Interface: functions and libraries for smart contracts, making it easy to develop the new dApps. The blockchain is abstracted, so the SC interacts with a key-value data and common functionalities provider.
- Fixed bug in seednode that prevented new peers to connect to the network, as it did not advertise the public addresses.
- Improved fork detector mechanism to prevent double sign attack and created an integration test for it, as found in testnet v1.0.16.
- Added all the starting parameters into the session_info files, in order to easily debug wrong initial configuration scenarios.
- Metachain nodes can now receive protocol rewards for every block created and added to the blockchain, making it worthwhile to act as a validator in metachain as well. Shards are obliged to process metachain rewards when they include a metaheader in their block.
- Added multiple integration tests to verify if protocol rewards and transaction fees are processed in a multi-shard scenario as expected.
- Created an eviction waiting list that will be used to remove older hashes and data from the trie database, thus decreasing the storage requirements.
- Transaction pool needed a cleaner to eliminate all the data which is not valid anymore (old transactions). We implemented a small independent component to do the work in the background, when the node is not processing heavily.
- Managed to have a debugging session in VS Code, using the Rust programming language and a WASM backend. IDE and tools will be developed to enhance the smart contract development experience.
Elrond Community : https://t.me/ElrondNetwork