All Projects → chainspace → Chainspace Prototype

chainspace / Chainspace Prototype

Chainspace is a distributed ledger platform for high-integrity and transparent processing of transactions within a decentralized system.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Chainspace Prototype

Harmony
The core protocol of harmony
Stars: ✭ 351 (+756.1%)
Mutual labels:  blockchain, sharding, consensus
Go Spacemesh
Go Implementation of the Spacemesh protocol full node. 💾⏰💪
Stars: ✭ 389 (+848.78%)
Mutual labels:  blockchain, consensus, decentralization
Awesome Substrate
A curated list of awesome projects and resources related to the Substrate blockchain development framework.
Stars: ✭ 228 (+456.1%)
Mutual labels:  blockchain, consensus, decentralization
Agregore Browser
A minimal browser for the distributed web
Stars: ✭ 229 (+458.54%)
Mutual labels:  blockchain, decentralization
Adamant Im
ADAMANT Decentralized Messenger. Progressive Web Application (PWA)
Stars: ✭ 202 (+392.68%)
Mutual labels:  blockchain, decentralization
Iroha
Iroha - A simple, enterprise-grade decentralized ledger
Stars: ✭ 210 (+412.2%)
Mutual labels:  blockchain, consensus
Awesome Blockchain Rust
Collect libraries and packages about blockchain/cryptography in Rust
Stars: ✭ 251 (+512.2%)
Mutual labels:  blockchain, consensus
Nkn
Official Go implementation of NKN full node.
Stars: ✭ 287 (+600%)
Mutual labels:  blockchain, decentralization
Ethlist
The Comprehensive Ethereum Reading List
Stars: ✭ 3,576 (+8621.95%)
Mutual labels:  blockchain, decentralization
Tendermint
⟁ Tendermint Core (BFT Consensus) in Go
Stars: ✭ 4,491 (+10853.66%)
Mutual labels:  blockchain, consensus
Quorum
A permissioned implementation of Ethereum supporting data privacy
Stars: ✭ 4,054 (+9787.8%)
Mutual labels:  blockchain, consensus
Ethermint Archive
Ethereum on Tendermint using Cosmos-SDK!
Stars: ✭ 667 (+1526.83%)
Mutual labels:  blockchain, consensus
Pyquarkchain
Python implementation of QuarkChain
Stars: ✭ 194 (+373.17%)
Mutual labels:  blockchain, sharding
Congress
Helping humanity evolve
Stars: ✭ 191 (+365.85%)
Mutual labels:  blockchain, decentralization
Arc
Arc is an operating system for DAOs.
Stars: ✭ 190 (+363.41%)
Mutual labels:  blockchain, decentralization
Chainbook
📚 区块链上的纸质书交易平台,为未来而构建!
Stars: ✭ 189 (+360.98%)
Mutual labels:  blockchain, decentralization
Unstoppable Wallet Android
A secure and decentralized Bitcoin and other cryptocurrency wallet for Android phones. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 165 (+302.44%)
Mutual labels:  blockchain, decentralization
Unstoppable Wallet Ios
A secure and decentralized Bitcoin and other cryptocurrency wallet for iPhone. Supports Bitcoin, Ethereum, EOS, Binance Chain, Bitcoin Cash, DASH, ...
Stars: ✭ 180 (+339.02%)
Mutual labels:  blockchain, decentralization
Abci Host
Clojure host/server for Tendermint's ABCI protocol.
Stars: ✭ 18 (-56.1%)
Mutual labels:  blockchain, consensus
Awesome Cryptoeconomics
An awesome curated list of Cryptoeconomic research and learning materials
Stars: ✭ 763 (+1760.98%)
Mutual labels:  blockchain, consensus

Please note: this is prototype code which serves as a validation of the ideas expressed in the Chainspace S-BAC peer-reviewed academic paper accepted by NDSS 2018. We are currently building out our production codebase in Go, and the Go codebase will be used going forward. We will replace this Java code with the Go code when it's feature-equivalent. Existing contract code will continue to function.

Chainspace

Chainspace is a distributed ledger platform for high-integrity and transparent processing of transactions within a decentralized system.

Developer Installation

The bulk of the code is to be found in chainspacecore. To run a network of chainspace nodes, you need to first compile and package this module.

Build

cd chainspacecore
mvn -Dversion=1.0-SNAPSHOT package assembly:single

This should produce an "uber jar" in the folder chainspacecore/target

Run

There are two parts to chainspace, the client and the network.

The network is a set of nodes that are communicating with each other based on the BFT SMaRt library.

The client is a http server which connects to the network and allows you to submit transactions.

./contrib/core-tools/easystart.mac.sh

This will show you all running chainspace processes:

ps aux | grep -v grep | grep chainspace | awk '{print $2 $11}'
ps aux | grep -v grep | grep chainspace | awk '{print $2 " " $11 " " $12 " " $13}'

If you need to kill everything:

ps aux | grep -v grep | grep chainspace | awk '{print $2}' | xargs kill

Developer Setup [IntelliJ Ultimate]

There are intellij modules in this folder for each of the submodules. Create a new empty project in intellij. A dialog will prompt you for the project structure, ignore this and wait for the project to load. You will see the .iml module files in the explorer and you can right click and import them to the project from there.

You will need to set the project sdk to be a JDK 1.8 and also a python virtualenv which you can create and link to each python module.

The modules are:

  • chainspaceapi [python]
  • chainspacecontract [python]
  • chainspacemeasurement [python]
  • chainspacecore [java]

You will need to add petlib manually to your python virtualenv from a shell... Intellij will have created your virtual env somewhere of your choosing indicated here as ($PATH_TO_VIRTUAL_ENV$)...

source $PATH_TO_VIRTUAL_ENV$/bin/activate
pip install petlib
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].