Skip to content

StreamUnion/StreamNet

 
 

Repository files navigation

Build Status Codacy Badge Codacy Badge GitHub release license

StreamNet Logo

Trias StreamNet

The trias-lab/iri repository is the main StreamNet reference implementation, for the design details, please see yellow paper [StreamNet]. The original iri reference could be found at [iri].

-* License: GPLv3

1. Installing

The preferred option is that you compile yourself. The second option is that you utilize the provided jar, which is released whenever there is a new update here: Github Releases.

1.1 Compiling yourself

Make sure to have Maven and Java 8 installed on your computer. Or, install gradle by yourself

We only support python 2.7. Python environment need to have: gunicorn, flask, pyota, cryptography>=2.8, ecdsa installed with pip.

Curl also need to be installed.

1.1.1 To compile & package

git clone https://github.com/StreamUnion/StreamNet.git 
cd StreamNet 
mvn clean compile
mvn package

This will create a target directory in which you will find the executable jar file that you can use.

1.1.2 To compiple with gradle

./gradlew clean test build

The reason why you should use gradle is that its compiling script is much more succint and it's better compatible with IntelliJ. Please search how to integrate gradle project with IntelliJ.

1.1.3 To compiple docker

docker build -t <name>:<tag> .

This will create a docker image for you to deploy

1.2 Running yourself

1.2.1 How to run one node

Run one node in single transaction mode
cd scripts/examples/one_node/
./conflux_dag.sh
./start_cli.sh
./parallel_put_txn.sh
./get_balance.sh
Run one node in batch transaction mode
cd scripts/examples/one_node_batch
./conflux_dag.sh
./start_cli.sh
./parallel_put_txn.sh
./get_balance.sh

1.2.2 How to run two nodes

Run two nodes in single transaction mode
cd scripts/examples/two_nodes
./conflux_dag_two_nodes.sh
./start_cli_two_nodes.sh
./parallel_put_txn_two_nodes.sh
./get_balance_two_nodes.sh
Run two nodes in multiple transaction mode
cd scripts/examples/two_nodes_batch
./conflux_dag_two_nodes.sh
./start_cli_two_nodes.sh
./parallel_put_txn_two_nodes.sh
./get_balance_two_nodes.sh

1.2.3 How to run docker

$ docker run -d --net=host --name <name> -v <local_data_dir>:/iri/data -v <neighbor_file>:/iri/conf/neighbors <name>:<tag> /entrypoint.sh

2. MISC

2.1 Performance Tunning

Please refere [Performance tunning] for details of how to measure performance using Nginx + Jmeter.

2.2 Cluster deployment

Please refer [Cluster deployment] for details of how to deploy multiple nodes.

2.3 Frontend deployment

Please refer [Frontend deployment] for details of how to deploy the frontend

2.4 Portainer deployment

Please refer [Portainer deployment] for details of how to leverage the portainer to manage containers

3 Team

Zhaoming Yin, Junqing Wang, Yahui Wang, Haifeng Li, Huafeng Li

About

StreamNet Reference Implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 57.9%
  • TeX 26.6%
  • Shell 5.2%
  • Python 4.7%
  • Vue 2.2%
  • JavaScript 1.0%
  • Other 2.4%