witnet-rust is an open source implementation of the Witnet Decentralized Oracle Network protocol written in Rust.
Components
witnet-rust implements 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 also develop and maintain 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
Current status
DISCLAIMER: This is experimental software running on experimental network protocols. Be careful!
- All the main components are in placeβbut they need yet to be battle tested before mainnet.
Testnet-1
is live. Here's the roadmap and this is how to run a node.- The Witnet community is doing its best to make
witnet-rust
rock solid as soon as possible. - Contributions are more than welcome.
Running / installing
Detailed installation instructions can be found in the installation guide.
Contributing
- To get involved, read our contributing guide.
- You can find us on Discord.
Project documentation
Witnet project's official documentation is available at docs.witnet.io.
License
Witnet-rust is published under the GNU General Public License v3.0.