As usual, this is the weekly report, thematic: Elrondnetwork Technology

in #elrond2 years ago (edited)

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).
Robert Sasu.png


  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Fixed bug in seednode that prevented new peers to connect to the network, as it did not advertise the public addresses.
  6. Improved fork detector mechanism to prevent double sign attack and created an integration test for it, as found in testnet v1.0.16.
  7. Added all the starting parameters into the session_info files, in order to easily debug wrong initial configuration scenarios.
  8. 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.
  9. Added multiple integration tests to verify if protocol rewards and transaction fees are processed in a multi-shard scenario as expected.
  10. Created an eviction waiting list that will be used to remove older hashes and data from the trie database, thus decreasing the storage requirements.
  11. 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.
  12. 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 :