Witnet Monthly Report — March 2019
Testnet-2 is now live — and you can run your own node on a Raspberry Pi!
If this is your first time visiting our monthly updates, welcome! For some general background on Witnet and our technology, please read this 3 minute primer, take a look at our whitepaper, or check out our project’s “must-reads” digest.
🏗️ Development Update
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
. - 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
andwallet
. - 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
🔧 We Like To Have Our Pi and Eat It Too
The Witnet Roadmap to Mainnet has been released with dates and milestones towards launch:
To enable the community to get further involved in our iterations of testnets leading up to mainnet, we published a getting-started guide for setting up and running your full Witnet testnet node:
Also, as a fun experiment to bring further clarity to the sort of software and hardware requirements to participate in the Witnet Decentralized Oracle Network, we have shown that a $15 Raspberry Pi Zero is capable of mining blocks on the Witnet Testnet. More from Adán:
Open Source Contributors:
Are you interested in contributing to the development of Witnet-rust? We would be thrilled to have you! Visit our new contributing guide and development guide for more info!
We are also extremely interested and receptive to anyone curious about building a separate implementation of the Witnet-rust. Have a favorite language you’d like to try to build Witnet with? Let us know and we’ll be happy to support you!
💜 Team
The Witnet Foundation has new open positions, including a brand new Growth Lead role located in the Madrid office. So if you are aware of the impact a decentralized oracle network will have on the crypto landscape and want to get involved, be sure to check them out and get in touch with us!