Change to Besu Defaults - Q1 2024 - Besu - LF Decentralized Trust Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window) PreferencesOnly necessaryAccept all LF Decentralized Trust LF Decentralized Trust Spaces Apps Templates Create Besu All content Shortcuts Meetings Meetings  This trigger is hidden How-to articles How-to articles  This trigger is hidden Content Results will update as you type. Code of Conduct Contributing Developing and Conventions Documentation Community Governance Programs & Grants Meetings Design Documents Ethereum Classic Support Feature Proposal Template Feature Flags RPC Endpoint Service Switchable Consensus Parameters Bonsai Tries Design Overview Refactor EVM into a stand alone library SECP256R1 Support DRAFT - Pico CLI Plugin Integration Besu 2022 Vision Modular Besu CI/CD Migration Change to Besu Defaults - Q1 2024 CI/CD Tooling and Process Bonsai archive feature Security Audits Start Here Performance & Stability How-to articles Incident Reports Besu Roadmap & Planning How to Contribute You‘re viewing this with anonymous access, so some content might be blocked. Close Besu / Change to Besu Defaults - Q1 2024 More actions Change to Besu Defaults - Q1 2024 Matt Nelson (Deactivated) Owned by Matt Nelson (Deactivated) Last updated: Dec 19, 2023 2024 Besu Defaults Context Currently starting Besu without configuring a handful of options will create a sub-par experience for users. It will use FOREST and FAST sync and attempt to connect to Ethereum Mainnet. These options are no longer suitable for Mainnet and Proof of stake. For private network users, configuration must be done either way to set up a custom genesis, chain ID, and to configure connections to peers. Defaults will have less impact on these users. Enterprises and developers are more likely to read the documentation prior to first start up. Suggestions The Consensys team is suggesting a re-evaluation of defaults in the new year. We are also simultaneously suggesting adding “profiles” to Besu that when set, provide defaults that serve certain use-cases or sets of users.  One more note. When setting a profile, any other options the user configures that fall underneath that profile will be overwritten. For example, if a user sets --profile=enterprise and --sync-mode=FULL it will override the sync mode flag from FAST  to FULL. Defaults, no profile When starting up Besu with no additional commands ./bin/besu , the following defaults are suggested: Sync Mode: SNAP Data-storage-format: BONSAI Full flat DB by default Xsnapsync-synchronizer-flat-db-healing-enabled=true (DELETE THIS FLAG → Safety concerns Gary Schulte)  Full flat DB will be default for all BONSAI users bonsai-limit-trie-logs-enabled=True bonsai-historical-block-limit=512 Network: Mainnet (should we specify a testnet for first time users without a config?) Max-peers: 50 (in line with Geth and other clients) -Xp2p-peer-lower-bound=25 Tx-pool: Layered (already default) These defaults promote the most performant profile for public networks with the full chain history. This is especially important when we ship SnapSync as a Server in Q1. We want these users to be able to serve any data required by peers to be good network citizens. We also want to bump the peer count to enable more robust peering and serving more data to the network. Profile Defaults The Consensys Team is suggesting 4 profiles with their own defaults: Selfish-staker Considerate-staker (name?) Private-network / Enterprise (?) RPC Provider Archive - Awaiting Bonsai Archive to change defaults Near-head - Standard full node Broken down below are the profiles. Selfish-staker Sync mode: CHECKPOINT Lowest disk, quickest sync, cannot serve old block data, can serve all world state data Data-storage-format: BONSAI bonsai-historical-block-limit: 128 Max-peers: 25  Slight reduction in CPU overhead from peering -Xp2p-peer-lower-bound=10 Chain-pruning: Enabled Deposit logs / tree dependency (TEKU ONLY)  Considerate-staker Sync mode: SNAP More disk, quickest sync, can serve more block data, can serve all world state data Data-storage-format: BONSAI Private-network / Enterprise (?) Sync-mode: FAST (move to snap —> not until snap server and Bonsai are tested in this environment, might require bonsai archive for some networks to migrate entirely over) --fast-sync-min-peers = 3 Min-gas-price=0? --remote-connections-limit-enabled=false Tx-pool=Legacy / Sequential --tx-pool-no-local-priority  --tx-pool-limit-by-account-percentage=(something bigger than 4 transactions) RPC Provider (Needed?) Archive - Awaiting Bonsai Archive to change defaults, then… data-storage-format: Bonsai New options for how many checkpoints to take (i.e. tradeoff between storage and rollback time) Near-head - Standard full node Uses default profile from above Both types: revert-reason=true rpc-gascap? (currently 1 eth, may want to lower for RPC providers) , multiple selections available, Related content More info Collapse Besu CLI Style Guide Besu CLI Style Guide Besu More like this 2022 Q2 Hyperledger Besu 2022 Q2 Hyperledger Besu Technical Oversight Committee More like this 2022 Q3 Hyperledger Besu 2022 Q3 Hyperledger Besu Technical Oversight Committee More like this Besu Roadmap & Planning Besu Roadmap & Planning Besu More like this 2023-11-07 Contributor Call - APAC Friendly Time 2023-11-07 Contributor Call - APAC Friendly Time Besu More like this Release 22.1.0 Release 22.1.0 Besu More like this {"serverDuration": 12, "requestCorrelationId": "943171d8a1af4288b5eff1d17c93fc48"}