Skip to content

braveheart12/insolar-31-08-19

Repository files navigation

Insolar platform is the most secure, scalable, and comprehensive business-ready blockchain toolkit in the world. Insolar’s goal is to give businesses access to features and services that enable them to launch new decentralized applications quickly and easily. Whether a minimum viable product or full-scale production software, Insolar builds and integrates applications for your enterprise's existing systems.

CII Best Practices GolangCI Go Report Card GoDoc codecov

Quick start

To learn what distinguishes Insolar from other blockchain projects, go through the list of our features.

To get a grip on how Insolar works, take a look at its architecture overview.

To join the Insolar network, download the latest release and follow the integration instructions.

To test Insolar locally, install it and deploy as described below.

Install

  1. Install the Golang programming tools. Make sure the $GOPATH environment variable is set.

  2. Download the Insolar package:

    go get github.com/insolar/insolar
    
  3. Go to the package directory:

    cd $GOPATH/src/github.com/insolar/insolar
    
  4. Install dependencies and build binaries:

    make
    

Deploy locally

  1. Run the launcher:

    scripts/insolard/launchnet.sh -g
    

    It generates bootstrap data, starts a pulse watcher, and launches a number of nodes. In local setup, the "nodes" are simply services listening on different ports. The default number of nodes is 5, you can uncomment more in scripts/insolard/bootstrap_template.yaml.

  2. When the pulse watcher says INSOLAR STATE: READY, you can run the following:

    • Requester:

      bin/apirequester -k=.artifacts/launchnet/configs/ -u=http://127.0.0.1:19101/api
      

      The requester runs a scenario: creates a number of users with wallets and transfers some money between them. For the first time, the script does it sequentially, upon subsequent runs — concurrently.

      Options:

      • -k: Path to the root user's key pair. All requests for a new user creation must be signed by the root one.
      • -u: Node's API URL. By default, the first node listens on the 127.0.0.1:19101 port. It can be changed in configuration.
    • Benchmark:

      bin/benchmark -c=4 -r=25 -k=.artifacts/launchnet/configs/
      

      Options:

      • -k: Path to the root user's key pair.
      • -c: Number of concurrent threads in which requests are sent.
      • -r: Number of transfer requests to be sent in each thread.

Contribute!

Feel free to submit issues, fork the repository and send pull requests!

To make the process smooth for both reviewers and contributors, familiarize yourself with the list of guidelines:

  1. Open source contributor guide.
  2. Style guide: Effective Go.
  3. List of shorthands for Go code review comments.

When submitting an issue, include a complete test function that demonstrates it.

Thank you for your intention to contribute to the Insolar project. As a company developing open-source code, we highly appreciate external contributions to our project.

FAQ

For more information, check out our FAQ.

Contacts

If you have any additional questions, join our developers chat.

Our social media:

License

This project is licensed under the terms of the Apache license 2.0, except for the Network subdirectory, which is licensed under the terms of the Modified BSD 3-Clause Clear License.