60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
[![Build Status](https://travis-ci.org/garious/phist.svg?branch=master)](https://travis-ci.org/garious/phist)
|
|
[![codecov](https://codecov.io/gh/garious/phist/branch/master/graph/badge.svg)](https://codecov.io/gh/garious/phist)
|
|
|
|
# :punch: phist :punch:
|
|
|
|
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:
|
|
|
|
```bash
|
|
$ curl https://sh.rustup.rs -sSf | sh
|
|
$ source $HOME/.cargo/env
|
|
$ rustup component add rustfmt-preview
|
|
```
|
|
|
|
Download the source code:
|
|
|
|
```bash
|
|
$ git clone https://github.com/garious/phist.git
|
|
$ cd phist
|
|
```
|
|
|
|
Testing
|
|
---
|
|
|
|
Run the test suite:
|
|
|
|
```bash
|
|
cargo test
|
|
```
|
|
|
|
Benchmarking
|
|
---
|
|
|
|
First install the nightly build of rustc. `cargo bench` requires unstable features:
|
|
|
|
```bash
|
|
$ rustup install nightly
|
|
```
|
|
|
|
Run the benchmarks:
|
|
|
|
```bash
|
|
$ cargo +nightly bench --features="unstable"
|
|
```
|