Skip to content

testnet-2 — The One That Grew A Lot

Choose a tag to compare

@aesedepece aesedepece released this 29 Mar 15:32
· 3070 commits to master since this release

Testnet-2 is out! This new major release includes many changes that extremely improve the security and stability of the Witnet Testnet:

  • Improved and more efficient validations for signatures, transactions, blocks and RADON scripts.
  • Changed how transaction IDs are computed to ensure signatures won't affect them - thus preventing potential malleability-related attack vectors.
  • All signature operations have been moved into a single Actix actor to ensure private keys are managed securely in memory. All our cryptographic algorithms have also been bundled into a single crate
  • The wallet API now supports subscriptions (Pub/Sub), which enables client apps like Sheikah to receive transactions and blocks in real time.
  • New RADON operators: String::to_float, Array::get and Mixed::to_array.
  • The storage manager component now supports Transparent Data Encryption using AES-CBC.
  • New Merkle tree building algorithm, supporting "progressive merkleization".
  • We have updated the protobuf-convert Rust crate to add support for skipping specific fields of structs when serializing protocol messages.
  • The Sheikah desktop client app is progressing smoothly, with many new features coming in the next week, including a visual editor for data requests and RADON scripts. UX FTW!

The witnet-rust basecode is growing at light speed, and it now comprises many different components intended to work in the Witnet ecosystem:

  • node: a fully validating and archival Witnet blockchain node.
  • wallet: a separate server for managing Witnet keys and abstracting the complexity of creating transactions.
  • crypto: library implementing all the crypto-related operations used by Witnet, including signatures, hash functions and verifiable random functions.
  • rad: an interpreter for [RADON] scripts included in Witnet data requests.
  • storage: the convenient local storage solution used by node and wallet.
  • p2p: modules for managing peer sessions and connections.
  • data_structures: data structures common to all other components.
  • validations: functions that validate Witnet protocol data structures.
  • schemas: Protocol Buffer schemas for the Witnet protocol.

Members of the Witnet project are also developing and maintaining these other related Rust crates:-

  • protobuf-convert: macros for convenient serialization of Rust data structures into/from Protocol Buffers.
  • async-jsonrpc-client: event-driven JSON-RPC client with support for multiple transports