Skip to content
Open source implementation of Witnet decentralized oracle network protocol in Rust
Branch: master
Clone or download
anler feat(wallet): properly handle shutdown of app
With the addition of the storage actor, not handling the shutdown causes issues when shutting down
the connection to the database:

    ...
    [INFO ] Shutting down worker, 0 connections
    pure virtual method called
    terminate called without an active exception
    [1]    24009 abort (core dumped)  cargo run -p witnet_wallet -- run
Latest commit 06c2da7 May 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.cargo update project structure and clean legacy code Sep 25, 2018
.github docs(readme): improve README Sep 25, 2018
.hooks Basic unified CLI for server/wallet/etc. Feb 9, 2018
config feat(wallet): add persistence, state, and implement getWalletInfos May 21, 2019
crypto chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
data_structures refactor(tests): modify tests to apply refactor modifications May 16, 2019
docker feat(docker): add Dockerfile for armv7-unknown-linux-gnueabihf Apr 9, 2019
docs docs: create witscript documentation placeholder May 9, 2019
net feat(wallet): properly handle shutdown of app May 21, 2019
node refactor(node): modify node to apply refactor modifications May 16, 2019
p2p chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
partial_struct chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
protected chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
rad refactor(data_structures): Try std Try{From,Into} May 9, 2019
reputation fix(reputation): improve usability of ars and trs May 13, 2019
schemas/witnet refactor(protobuf): modify Protobuff schema to apply refactor modific… May 16, 2019
src fix(validations): apply pr comments Mar 29, 2019
storage chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
util chore(cargo): upgrade all witnet-rust crates to version 0.2.1 Apr 25, 2019
validations refactor(validations): modify validations to apply refactor modificat… May 16, 2019
wallet feat(wallet): properly handle shutdown of app May 21, 2019
.gitignore chore(config doc): Document ConfigManager in main docs Nov 7, 2018
.travis.yml refactor(travis): improve Travis configuration to speed up builds Apr 25, 2019
CODE_OF_CONDUCT.md docs(code-of-conduct): add small edits to @jrmoreau's last additions Sep 25, 2018
CONTRIBUTING.md Add conventions for git-commit messages Sep 25, 2018
Cargo.lock feat(wallet): add persistence, state, and implement getWalletInfos May 21, 2019
Cargo.toml refactor(wallet): use witnet_net crate May 21, 2019
Justfile fix(justfile): fix broken fmt in Justfile Apr 25, 2019
LICENSE Initial commit Feb 4, 2018
README.md docs(readme): update README to reflect current project structure Mar 27, 2019
mkdocs.yml docs: upgrade RADON specification May 9, 2019
rustfmt.toml refactor(err): rustfmt Oct 4, 2018
witnet.toml chore(config): set checkpoint zero timestamp to 1553817600 Mar 29, 2019

README.md

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.

You can’t perform that action at this time.