Skip to content

witnet/witnet-rust

Repository files navigation

Witnet-rust

Join the chat at https://gitter.im/witnet/witnet-rust Build Status GPLv3 Licensed GitHub contributors Github last commit

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