Go to file
Greg Fitzgerald 48ec84c399 Prep for ownership transfer and rename 2018-02-16 11:53:14 -07:00
src Add separate benchmarks for seq and par versions of verify_slice 2018-02-16 09:38:12 -08:00
.gitignore cargo init 2018-02-14 07:23:59 -07:00
.travis.yml Try running kcov within docker 2018-02-16 08:55:25 -07:00
Cargo.toml Prep for ownership transfer and rename 2018-02-16 11:53:14 -07:00
LICENSE Prep for ownership transfer and rename 2018-02-16 11:53:14 -07:00
README.md Rename the project 2018-02-16 11:49:21 -07:00

README.md

Build Status codecov

Silk, A Silky Smooth Implementation of the Loom Architecture

Loom is a new achitecture for a high performance blockchain. Its whitepaper boasts a theoretical throughput of 710k transactions per second on a 1 gbps network. The first implementation of the whitepaper is happening in the 'loomprotocol/loom' repository. That repo is aggressively moving forward, looking to de-risk technical claims as quickly as possible. This repo is quite a bit different philosophically. Here we assume the Loom architecture is sound and worthy of building a community around. We care a great deal about quality, clarity and short learning curve. We avoid the use of unsafe Rust and an write tests for everything. Optimizations are only added when corresponding benchmarks are also added that demonstrate real performance boots. We expect the feature set here will always be a long ways behind the loom repo, but that this is an implementation you can take to the bank, literally.

Developing

Building

Install rustc, cargo and rustfmt:

$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
$ rustup component add rustfmt-preview

Download the source code:

$ git clone https://github.com/loomprotocol/silk.git
$ cd silk

Testing

Run the test suite:

cargo test

Benchmarking

First install the nightly build of rustc. cargo bench requires unstable features:

$ rustup install nightly

Run the benchmarks:

$ cargo +nightly bench --features="unstable"