The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
woop/README.md

78 lines
2.2 KiB

7 years ago
# Harmony Benchmark
[![Build Status](https://travis-ci.com/harmony-one/harmony.svg?token=DnoYvYiTAk7pqTo9XsTi&branch=master)](https://travis-ci.com/harmony-one/harmony)
<a href='https://github.com/jpoles1/gopherbadger' target='_blank'>![gopherbadger-tag-do-not-edit](https://img.shields.io/badge/Go%20Coverage-45%25-brightgreen.svg?longCache=true&style=flat)</a>
6 years ago
7 years ago
## Coding Guidelines
6 years ago
* In general, we follow [effective_go](https://golang.org/doc/effective_go.html)
* Code must adhere to the official [Go formatting guidelines](https://golang.org/doc/effective_go.html#formatting) (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
* Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
6 years ago
6 years ago
## Dev Environment Setup
```
export GOPATH=$HOME/<path_of_your_choice>
6 years ago
mkdir -p $HOME/<path_of_your_choice>/src/github.com/harmony-one
6 years ago
cd $HOME/<path_of_your_choice>/src/github.com/harmony-one
git clone git@github.com:harmony-one/harmony.git
6 years ago
cd harmony
6 years ago
go get ./...
```
6 years ago
6 years ago
## Usage
6 years ago
### Running local test
6 years ago
```
6 years ago
./test/deploy.sh ./test/configs/local_config1.txt
6 years ago
```
## Testing
Make sure you the following command and make sure everything passed before submitting your code.
6 years ago
6 years ago
```
./test_before_submit.sh
6 years ago
```
## Linting
Make sure you the following command and make sure everything passes golint.
6 years ago
6 years ago
```
./lint_before_submit.sh
6 years ago
```
## Development Status
### Features Done
* Basic consensus protocol with O(n) complexity
* Basic validator server
* P2p network connection and unicast
* Account model and support for Solidity
* Simple wallet program
* Mock beacon chain with static sharding
* Information disposal algorithm using erasure encoding (to be integrated)
* Blockchain explorer with performance report and transaction lookup
* Transaction generator for loadtesting
### Features To Be Implemented
* Full beacon chain with multiple validators
* Resharding
* Staking on beacon chain
* Fast state synchronization
* Distributed randomness generation with VRF and VDF
* Kademlia routing
* P2p network and gossiping
* Full protocol of consensus with BLS multi-sig and view-change protocol
* Integration with WASM
* Cross-shard transaction