testnet-2 — The One That Grew A Lot
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::getandMixed::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