insolar

package module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2018 License: Apache-2.0 Imports: 0 Imported by: 20

README

Insolar

Blockchain platform

Build Status Go Report Card GoDoc codecov

This project is still in early development state. It is not recommended to use it in production environment.

Overview

Insolar is the next generation high-performance scalable blockchain platform designed with the express purpose to meet an immense business scope. The enterprise-grade distributed ledger cloud platform will help to increase business velocity, create new revenue streams, and reduce cost and risk by securely extending enterprise SaaS and on-premises applications to drive tamper-resistant transactions on a trusted business network.

Insolar supports public and private blockchains and is able to customize different blockchains for different applications. Insolar team will constantly provide common modules on the underlying infrastructure for different kinds of distributed scenarios.

We value the expansion of the ecosystem which operates across chains, systems, industries and applications. With a range of protocols and modules, data and information will be connected to support various business scenarios. Our goal is to build the underlying blockchain infrastructure to bridge the real world and the distributed digital world. With this, companies from different industries will be able to develop applications for a range of scenarios and collaborate with other entities on the platform.

Components

Network

Kademlia DHT based blockchain network layer.

  • Support of heterogeneous network topology.
  • Network routing with a node or node group becoming relays for others nodes.
  • Ability to limit number of gateways to corporate node group via relays to keep the node group secure.

See package readme for more details.

Ledger

Record storage engine backed by LevelDB.

Virtual machines

Various engines for smart contract execution:

  • wasm - WebAssembly implementation of smart contracts
Genesis

Genesis module describes interaction of system components with each other. 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. Domains define the visibility scope for the child contracts and their interaction policies. Actually, Domain is subclass of SmartContract.

See package readme for more details.

Installation

go get github.com/insolar/insolar

Contributing

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

When submitting an issue, we ask that you please include a complete test function that demonstrates the issue.

License

This project is licensed under the terms of the Apache license 2.0. Please see LICENSE for more information.

Documentation

Overview

Package insolar is the next generation high-performance scalable blockchain platform designed with the express purpose to meet an immense business scope. The enterprise-grade distributed ledger cloud platform will help to increase business velocity, create new revenue streams, and reduce cost and risk by securely extending enterprise SaaS and on-premises applications to drive tamper-resistant transactions on a trusted business network.

Insolar supports public and private blockchains and is able to customize different blockchains for different applications.

Directories

Path Synopsis
cmd
genesis
example
Package example provides smart contracts for building example of system work.
Package example provides smart contracts for building example of system work.
mock/storage
Package storage provides interface and default implementation of storage as map for objects.
Package storage provides interface and default implementation of storage as map for objects.
model/class
Package class provides constants for string representation of class for basic interfaces implementations.
Package class provides constants for string representation of class for basic interfaces implementations.
model/contract
Package contract provides interface and default implementation of smart contract.
Package contract provides interface and default implementation of smart contract.
model/domain
Package domain provides interface and default implementation of domain.
Package domain provides interface and default implementation of domain.
model/factory
Package factory provides interfaces for factories of all objects and proxy objects.
Package factory provides interfaces for factories of all objects and proxy objects.
model/object
Package object provides basic interfaces and default implementations of them.
Package object provides basic interfaces and default implementations of them.
model/resolver
Package resolver provides interface and default implementation of resolvers for getting objects from references.
Package resolver provides interface and default implementation of resolvers for getting objects from references.
public/core
Package core allows to create Genesis Domain ReferenceDomain - system domain that allow global reference resolving.
Package core allows to create Genesis Domain ReferenceDomain - system domain that allow global reference resolving.
Package ledger contains high level interfaces to storage engine and multiple record types
Package ledger contains high level interfaces to storage engine and multiple record types
artifactmanager
Package artifactmanager provides high-level storage API for logic runner module.
Package artifactmanager provides high-level storage API for logic runner module.
hash
Package hash contains Writer interface and SHA3 hasher.
Package hash contains Writer interface and SHA3 hasher.
index
Package index represents indexes and meta information for records.
Package index represents indexes and meta information for records.
record
Package record contains code and types for storage records manipulation.
Package record contains code and types for storage records manipulation.
storage
Package storage contains low level interfaces and common structures for concrete ledger storage engine implementations
Package storage contains low level interfaces and common structures for concrete ledger storage engine implementations
storage/leveldb
Package leveldb contains ledger implementation on top of Go's LevelDB engine
Package leveldb contains ledger implementation on top of Go's LevelDB engine
Package logicrunner - infrastructure for executing smartcontracts
Package logicrunner - infrastructure for executing smartcontracts
goplugin
Package goplugin - golang plugin in docker runner
Package goplugin - golang plugin in docker runner
goplugin/testplugins/foundation
Package foundation emulates foundation of types for golang contracts
Package foundation emulates foundation of types for golang contracts
network
host
Package host is an implementation of Kademlia DHT.
Package host is an implementation of Kademlia DHT.
host/connection
Package connection encapsulates connection creation process and provides connection factories.
Package connection encapsulates connection creation process and provides connection factories.
host/message
Package message provides insolar messaging protocol and serialization layer.
Package message provides insolar messaging protocol and serialization layer.
host/node
Package node is a fundamental part of networking system.
Package node is a fundamental part of networking system.
host/relay
Package relay is an implementation of relay mechanism.
Package relay is an implementation of relay mechanism.
host/resolver
Package resolver provides interface (and default implementation) to retrieve public insolar address.
Package resolver provides interface (and default implementation) to retrieve public insolar address.
host/routing
Package routing implements Kademlia hash tables with XOR distance metrics.
Package routing implements Kademlia hash tables with XOR distance metrics.
host/rpc
Package rpc allows higher level components to register methods that can be called by other insolar nodes.
Package rpc allows higher level components to register methods that can be called by other insolar nodes.
host/store
Package store provides interfaces and default in-memory implementation of storage for DHT metadata.
Package store provides interfaces and default in-memory implementation of storage for DHT metadata.
host/transport
Package transport provides insolar transport interface.
Package transport provides insolar transport interface.
vm
wasm/module
Package module represents wasm module
Package module represents wasm module
wasm/modulereader
Package modulereader implements binary wasm reader statemachine that simple reads binary code into internal representation
Package modulereader implements binary wasm reader statemachine that simple reads binary code into internal representation
wasm/types
Package types defines wasm low level types.
Package types defines wasm low level types.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL