User Tools

Site Tools


projects:burrow

Hyperledger Burrow

Burrow is a permissively licensed (Apache 2.0) EVM smart contract machine and Byzantine Fault Tolerant permissioned ledger that uses Tendermint consensus and implements some novel extensions to the EVM whilst remaining EVM-compliant. It provides EVM execution within the Ethereum account model and an internal token to meter computation in the permissioned setting with transactions finality.

Burrow was approved for incubation on the 6th of April 2017 by the Hyperledger TSC.

Burrow has three primary aims:

  • To be a fast, light, lean single-process full Tendermint/EVM permissioned ledger with transaction finality
  • To provide a practical base for EVM extensions in a many-chain world

Burrow is not trying to be:

  • Highly pluggable (see Sawtooth or Fabric)
  • Hard to deploy

Burrow is named after the trans-dimensional intergalactic tubules used by marmots to communicate.

Releases

For previous versions of standalone Burrow you can find:

Code

Burrow's repository is on github here: https://github.com/hyperledger/burrow

The Burrow binary contains everything you need to specify, configure, run, and deploy smart contracts to a chain.

  • burrow spec - for describing template genesis state
  • burrow configure - for realising a specific configuration (including key generation)
  • burrow keys - both a standalone key signing daemon and key generation tool
  • burrow deploy - a declarative Solidity compilation, chain management, testing, and smart contract deployment tool
  • burrow dump - a forensics, auditing, and data extraction tool
  • burrow snatives - a tool for interacting with Burrow's 'secure natives' - host code that is callable as if it were an EVM contract
  • burrow start - for starting a blockchain node

For deploying contracts you will need a local installation of Solidity.

Monax maintains Bosmarmot a satellite monorepo to Burrow that contains:

  • burrow.js - a Javascript client library for interacting with Burrow smart contracts
  • Vent - an EVM event to SQL database mapping layer - currently under development.

Deployment

Burrow can be deployed in any environment but we have focussed on deploying related sets of validators (or validator pools) using Kubernetes/Helm and you can find helm charts here: https://github.com/helm/charts/tree/master/incubator/burrow.

Contributing

Please fork, branch, and make pull requests to the develop branch.

Our build, CI, and testing process is executed via our Makefile, see the comments there for details.

Communication

The Burrow mailing list can be found here, you can also seek help in the rocket chat room.

Quarterly updates

2018

2017

Documentation

Documentation is available on the main repo of Burrow and burrow.js. Having gone through a period of consolidation we need help creating more high quality general tutorial documentation and specific task/component documentation.

Future Direction and Roadmap

Burrow is being heavily tested as the core of the Agreements Network. It sits at the intersections of a number of emerging technologies:

- EVM contracts and host-native code contracts - Public permissioned networks - permissioned Ethereum and public Tendermint/Cosmos - Layer 2 scaling - acting as a side-chain or state channel

We aim to provide a robust blockchain node for running multiple interconnected chains in a many-chain world. As well as blurring the public/private chain divide.

Roadmaps

projects/burrow.txt · Last modified: 2018/08/23 14:00 by Casey Kuhlman