-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Home
This is the project wiki for Besu. It's a home for contributor guides, project process, and reference material for people working on Besu.
Besu project status:
- Status : Graduated
-
OpenSSF Best Practices :
-
Community : Discord (
#besu,#besu-contributors) - Documentation : docs.besu-eth.org
- Repositories : besu-eth/besu, besu-eth/besu-docs
Besu is an open source Ethereum client developed under the Apache 2.0 license and written in Java. It runs on public Ethereum networks, private permissioned networks, and test networks.
Core capabilities include:
- Ethereum Virtual Machine (EVM)
- Consensus support, including Proof of Stake and Proof of Authority variants (IBFT 2.0, QBFT)
- User-facing APIs (JSON-RPC over HTTP/WebSocket and GraphQL)
- Plugin architecture for extending Besu behavior
- Monitoring integrations and metrics endpoints
View the Besu documentation to get started with public networks, private networks, plugins, and configuration.
This wiki is maintained from the besu-eth/wiki
source repository. Changes are reviewed through pull requests and then published
to the rendered Besu wiki. If you spot
something to fix or add, open a pull request against the source repo rather than
editing the rendered wiki directly. Direct wiki edits are overwritten on the
next publish.
Most pages began as a Hyperledger Confluence export and are being ported one
topic at a time into clean GitHub wiki pages. The full raw export is preserved
on the confluenceExport
branch. If a topic you expect is missing, it likely still lives in that backup
awaiting a port.
To port another page out of the Confluence backup:
-
Clone the source repo
besu-eth/wikiand branch offmain:git switch -c docs/port-<page>
-
Find and pull the page from the backup branch (the export lives under
besu/):# browse what exists git ls-tree -r --name-only confluenceExport -- besu/ # pull a single file onto your branch git checkout confluenceExport -- besu/path/to/page.md
-
Move and rename it to a flat, root-level wiki page using
Hyphen-Separated-Words.md. The filename becomes the page title (for example,Working-through-Hive-tests.mdbecomes "Working through Hive tests"). -
Clean up Confluence artifacts: leftover macros, broken
lf-hyperledger.atlassian.netlinks, and "export flag not set" boilerplate. -
Fix cross-links to use bare page names, for example
[Working with DCO](Contributing-Working-with-DCO)(no.md, no leading slash). -
Surface the page by adding it to
_Sidebar.md(and linking from Home where appropriate), then open a PR.
When a ported page links to something not yet migrated, leave an inline <!-- TODO --> marking it.
besu-eth/wiki and edits made here are overwritten on the next publish. To change a page, open a pull request against the source repo instead. See Home for how.
Contributing
Development & Testing
Developing & Conventions
Project Process
Governance
Incident Reports
- 2024-01-06 Mainnet Halting Event
- 2022-11-11 Fork on Sepolia
- 2022-05-30 Phishing PRs
- 2021-08-04 Value Transfer Public Transactions Rejected
- 2021-04-23 ATs Failures
Performance & Stability
- Improvements Since the Merge
- Memory Usage Investigations (23.7.3-RC)
- Reduce Memory Usage
- Testing Taskforce Brainstorming
- Q4 2022 Stability and Improvements
- Permissioned Chain Testing
Design Documents
- Design Documents
- Modular Besu
- Refactor EVM into a Standalone Library
- Bonsai Tries Design Overview
- Bonsai Archive Feature
- Bonsai Archive State Proofs
- Switchable Consensus Parameters
- SECP256R1 Support
- RPC Endpoint Service
- Feature Proposal Template
- Feature Flags
- CI/CD Tooling and Process
Programs & Mentorship