github.com/braveheart12/just@v0.8.7/README.md (about)

     1  # Insolar
     2  
     3  Enterprise-ready blockchain platform
     4  
     5  [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2150/badge)](https://bestpractices.coreinfrastructure.org/projects/2150)
     6  
     7  [![Build Status](https://travis-ci.org/insolar/insolar.svg?branch=master)](https://travis-ci.org/insolar/insolar)
     8  [![GolangCI](https://golangci.com/badges/github.com/insolar/insolar.svg)](https://golangci.com/r/github.com/insolar/insolar/)
     9  [![Go Report Card](https://goreportcard.com/badge/github.com/insolar/insolar)](https://goreportcard.com/report/github.com/insolar/insolar)
    10  [![GoDoc](https://godoc.org/github.com/insolar/insolar?status.svg)](https://godoc.org/github.com/insolar/insolar)
    11  [![codecov](https://codecov.io/gh/insolar/insolar/branch/master/graph/badge.svg)](https://codecov.io/gh/insolar/insolar)
    12  
    13  ## Overview
    14  
    15  **Insolar** is building a 4th generation blockchain platform for business aimed to enable seamless interactions between companies and unlock new growth opportunities. In addition to the blockchain platform, Insolar will provide blockchain services and ecosystem support for companies that are looking to develop and deploy blockchain solutions. Insolar will feature most complete and secure set of production-ready business blockchain tools and services to quickly build or launch blockchain enterprise applications, accelerating the progression path from initial proof-of-concept to full-scale production.
    16  
    17  The world’s most innovative companies in finance, logistics, consumer goods, energy, healthcare, transportation, manufacturing and others will be turning to Insolar to create applications and networks that deliver tangible business success. They recognise that even in today’s digital economy, vast amounts of value continue to be trapped inside processes and organisations that don’t connect. Insolar is their remedy, helping them discover and design business value in blockchain networks — starting, accelerating and innovating strategies that replace longstanding business friction with trust and transparency. Delegating trust to a blockchain means that businesses can pursue broader networks, onboard new partners, and enter new ecosystems with ease. Blockchain-based networks that support multiparty collaboration around shared, trusted data and process automation across organisational boundaries bring benefits at many levels, starting with efficiency gains and culminating in reinventing how entire industry ecosystems operate.
    18  
    19  Insolar is a global team of 60+ people in North America and Europe, including a 35-strong engineering team with practical blockchain engineering know-how, and 10 leading blockchain academics from major institutions (York University, ETH Zurich, Princeton).
    20  
    21  ## Components
    22  
    23  ### [Network](network)
    24  
    25  Blockchain network layer.
    26  
    27  * Support of heterogeneous network topology.
    28  * Network routing with a host or host group becoming relays for others hosts.
    29  * Ability to limit number of gateways to corporate host group via relays to keep the host group secure.
    30  
    31  See [package readme](network/dhtnetwork) for more details.
    32  
    33  ### [Ledger](ledger)
    34  
    35  Record storage engine backed by [BadgerDB](https://github.com/dgraph-io/badger).
    36  
    37  ### [Virtual machines](vm)
    38  
    39  Various engines for smart contract execution:
    40  
    41  * [wasm](vm/wasm) - WebAssembly implementation of smart contracts
    42  
    43  ### [Application layer](application)
    44  
    45  Application module describes interaction of system components with each other.
    46  Every component of the system is a `SmartContract`. Members of the system are given the opportunity to build their own dApps by publishing smart contracts in `Domain` instances.
    47  Domains define the visibility scope for the child contracts and their interaction policies. Actually, `Domain` is subclass of `SmartContract`.
    48  
    49  See [package readme](application) for more details.
    50  
    51  ### [Configuration](configuration)
    52  
    53  Provides configuration params for all Insolar components and helper for config resources management.
    54  
    55  ### [Metrics](metrics)
    56  
    57  Using Prometheus monitoring system and time series database for collecting and store metrics
    58  
    59  ## Installation
    60  
    61  Download Insolar package
    62  
    63      go get github.com/insolar/insolar
    64  
    65  Go to package directory
    66  
    67      cd $GOPATH/src/github.com/insolar/insolar
    68  
    69  Install dependencies and build binaries
    70  
    71      make install-deps pre-build build
    72  
    73  ### Example
    74  
    75  Run launcher:
    76  
    77      scripts/insolard/launchnet.sh -g
    78  
    79  It will generate genesis data and launch a number of nodes. Default number is 5, you can uncomment more nodes in `scripts/insolard/genesis.yaml`.
    80  
    81  After node processes are started you will see messages like “NODE 3 STARTED in background” in log and PulseWatcher will be started.
    82  When you see `Ready` in Insolar State you can run test scripts and benchmarks:
    83  
    84      bin/apirequester -k=scripts/insolard/configs/root_member_keys.json -u=http://127.0.0.1:19101/api
    85  
    86  This tool runs such scenario: it creates a number of users with wallets, then transfers some money between these users. First time script does it sequentially, second time — concurrently.
    87  Options:
    88  * `-k`: Path to root user keypair. All requests to create new user must be signed by root user.
    89  * `-u`: Node API URL. By default first node listens on 127.0.0.1:19101. It can be changed in config.
    90  
    91  
    92      bin/benchmark -c 2 -r 4 -k=scripts/insolard/configs/root_member_keys.json
    93  
    94  Options:
    95  * `-k`: Same as above, path to root user keypair.
    96  * `-c`: Number of concurrent threads in which requests will be sent.
    97  * `-r`: Number of transfer requests that will be sent in each thread.
    98  
    99  After testing you can stop all nodes by pressing Ctrl+C.
   100  
   101  #### See [apirequester](cmd/apirequester) and [benchmark](cmd/benchmark) readme for more details
   102  
   103  ## Contributing
   104  
   105  See [Contributing Guidelines](.github/CONTRIBUTING.md).
   106  
   107  ## License
   108  
   109  This project is licensed under the terms of the [Apache license 2.0](LICENSE), except for the [Network](network), [NetworkCoordinator](networkcoordinator) and [Consensus](consensus)  subdirectories, which are licensed under the terms of the [BSD 3-Clause Clear License](network/LICENSE.md).