Hyperledger Burrow is a permissioned Ethereum smart-contract blockchain node. It executes Ethereum EVM and WASM smart contract code (usually written in Solidity) on a permissioned virtual machine. Burrow provides transaction finality and high transaction throughput on a proof-of-stake Tendermint consensus engine.
What is Burrow
Burrow is a fully fledged blockchain node and smart contract execution engine -- a distributed database that executes code. Burrow runs Ethereum Virtual Machine (EVM) and Web Assembly (WASM) smart contracts. Burrow networks are synchronised using the Tendermint consensus algorithm.
- Tamper-resistant merkle state - a node can detect if its state is corrupted or if a validator is dishonestly executing the protocol.
- Proof-of-stake support - run a private or public permissioned network.
- On-chain governance primitives - stakeholders may vote for autonomous smart contract upgrades.
- Ethereum account world-view - state and code is organised into cryptographically-addressable accounts.
- Low-level permissioning - code execution permissions can be set on a per-account basis.
- Event streaming - application state is organised in an event stream and can drive external systems.
- SQL mapping layer - map smart contract event emissions to SQL tables using a projection specification.
- GRPC interfaces - all RPC calls can be accessed from any language with GRPC support. Protobuf is used extensively for core objects.
- Keys service - provides optional delegating signing at the server or via a local proxy
- Web3 RPC - provides compatibility for mainnet Ethereum tooling such as Truffle and Metamask
What it is not
- An Ethereum mainnet client - we do not speak devp2p and various implementation details are different. We are Ethereum-derived but exploit greater freedom than mainnet compatibility would allow.
- Just a virtual machine
- A research project - we run it in production
Further introductory material
See Burrow - the Boring Blockchain for an introduction to Burrow and its motivating vision.
Watch the Boring into Burrow talk from the Hyperledger Global Forum 2020
Project information generally updated on a quarterly basis can be found on the Hyperledger Burrow Wiki.
- Burrow binaries: https://github.com/hyperledger/burrow/releases
- Burrow.js: https://www.npmjs.com/package/@hyperledger/burrow
- Docker: https://hub.docker.com/repository/docker/hyperledger/burrow
We welcome any and all contributions. Read the contributing file for more information on making your first Pull Request to Burrow!
You can find us on: