Expand description

TinyChain is a distributed state machine with an HTTP + JSON API designed to provide cross-service transactions across an ensemble of microservices which implement the TinyChain protocol. TinyChain itself is also a Turing-complete application platform.

TinyChain currently supports BlockChain, BTree, Table, and Tensor collection types, with more planned for the future.

TinyChain is intended to be used as an executable binary (i.e., with cargo install) via its HTTP API. For usage instructions and more details, visit the repository page at http://github.com/haydnv/tinychain.


pub use kernel::*;
pub use tc_btree as btree;
pub use tc_error as error;
pub use tc_table as table;
pub use tc_transact as transact;
pub use tc_value as value;
pub use tcgeneric as generic;


A Chain responsible for recovering a State from a failed transaction.

An OpDef which closes over zero or more States

Maintains the consistency of the network by coordinating transaction commits.

The transactional filesystem interface.

Gateway handles network traffic.

The host kernel, responsible for dispatching requests to the local host

User-defined object-orientation features.

Immutable values which always reside entirely in memory

A TinyChain State

A stream generator such as a Collection or a mapping or aggregation of its items

The transaction context Txn.