Git Product home page Git Product logo

renovate-bot / abuchtela-_-boost-geth-builder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abuchtela/boost-geth-builder

0.0 0.0 0.0 169.03 MB

Example builder

License: GNU Lesser General Public License v3.0

Shell 0.13% JavaScript 3.23% Ruby 0.01% Python 0.08% C 4.92% Java 0.22% Go 89.89% Assembly 0.69% Makefile 0.06% HTML 0.08% NSIS 0.17% M4 0.19% Dockerfile 0.01% Sage 0.22% Solidity 0.11%

abuchtela-_-boost-geth-builder's Introduction

geth readme

Builder API

Builder API implementing builder spec, making geth into a standalone block builder.

Run on your favorite network.

Requires builder_payloadAttributes update to be sent for block building, run our Prysm fork

Test with mev-boost and mev-boost test cli.

Provides summary page at the listening address' root (http://localhost:28545 by default).

How it works

  • Builder polls relay for the proposer registrations for the next epoch

Builder has two hooks into geth:

  • On forkchoice update, changing the payload attributes feeRecipient to the one registered for next slot's validator
  • On new sealed block, consuming the block as the next slot's proposed payload and submits it to the relay

Local relay is enabled by --local_relay and overwrites remote relay data. This is only meant for the testnets!

To connect to a remote relay use --builder.remote_relay_endpoint.

Limitations

  • Blocks are only built on a specialized call builder_payloadAttributes, see our Prysm fork
  • Does not accept external blocks
  • Does not have payload cache, only the latest block is available

Usage

Configure geth for your network, it will become the block builder.

Builder API options:

$ geth --help
    --builder                      (default: false)
          Enable the builder
   
    --builder.beacon_endpoint value (default: "http://127.0.0.1:5052")
          Beacon endpoint to connect to for beacon chain data [$BUILDER_BEACON_ENDPOINT]
   
    --builder.bellatrix_fork_version value (default: "0x02000000")
          Bellatrix fork version. For goerli use 0x02001020
          [$BUILDER_BELLATRIX_FORK_VERSION]
   
    --builder.genesis_fork_version value (default: "0x00000000")
          Gensis fork version. For goerli use 0x00001020 [$BUILDER_GENESIS_FORK_VERSION]
   
    --builder.genesis_validators_root value (default: "0x0000000000000000000000000000000000000000000000000000000000000000")
          Genesis validators root of the network. For goerli use
          0x043db0d9a83813551ee2f33450d23797757d430911a9320530ad8a0eabc43efb
          [$BUILDER_GENESIS_VALIDATORS_ROOT]
   
    --builder.listen_addr value    (default: ":28545")
          Listening address for builder endpoint [$BUILDER_LISTEN_ADDR]
   
    --builder.local_relay          (default: false)
          Enable the local relay
   
    --builder.relay_secret_key value (default: "0x2fc12ae741f29701f8e30f5de6350766c020cb80768a0ff01e6838ffd2431e11")
          Builder local relay API key used for signing headers [$BUILDER_RELAY_SECRET_KEY]
   
    --builder.remote_relay_endpoint value
          Relay endpoint to connect to for validator registration data, if not provided
          will expose validator registration locally [$BUILDER_REMOTE_RELAY_ENDPOINT]
   
    --builder.secret_key value     (default: "0x2fc12ae741f29701f8e30f5de6350766c020cb80768a0ff01e6838ffd2431e11")
          Builder key used for signing blocks [$BUILDER_SECRET_KEY]
   
    --builder.validator_checks     (default: false)
          Enable the validator checks

abuchtela-_-boost-geth-builder's People

Contributors

aaronbuchwald avatar acud avatar arachnid avatar cjentzsch avatar cubedro avatar debris avatar fjl avatar gavofyork avatar gballet avatar gluk256 avatar holiman avatar holisticode avatar janos avatar jsvisa avatar karalabe avatar lightclient avatar ligi avatar mariusvanderwijden avatar matthalp avatar nolash avatar nonsense avatar obscuren avatar renaynay avatar rjl493456442 avatar s1na avatar tgerring avatar ucwong avatar vbuterin avatar zelig avatar zsfelfoldi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.