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
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 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
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.