Skip to content
This repository was archived by the owner on Oct 25, 2024. It is now read-only.

Increase sync size to 1s to avoid hitting 429 too many requests issue #21

Open
wants to merge 87 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
eb4d322
Implement geth-embedded builder API
Ruteri Apr 28, 2022
3c0d5f1
Adjust transactions root computation (#3)
Ruteri Jun 2, 2022
0211eab
Adjust logsBloom encoding (#4)
Ruteri Jun 2, 2022
6fbef37
Adjust base fee encoding (#5)
Ruteri Jun 3, 2022
b67d952
Allow resending of the same validator registration (#7)
Ruteri Jun 7, 2022
28fd947
Adjust value encoding (#9)
Ruteri Jun 10, 2022
3f12831
Adjust gas limit calculation (#8)
Ruteri Jun 10, 2022
0b356f2
Show builder pubkey on index page (#10)
Ruteri Jun 10, 2022
ab55c8c
Add remote relay connection for getting validator data (#11)
Ruteri Jul 21, 2022
69168ab
Run builder even if cannot connect to remote relay (#12)
Ruteri Jul 25, 2022
2cbfc71
Add GasUsed and GasLimit to bid trace (#13)
Ruteri Jul 29, 2022
1357e20
Upgrade github.com/btcsuite/btcd (#14)
Ruteri Aug 1, 2022
b06509e
Fix lint issues (#15)
Ruteri Aug 1, 2022
74375b1
Update README.md (#16)
textonscreen Aug 2, 2022
32a7206
Add block build trigger from beacon node api (#17)
avalonche Aug 11, 2022
7a6d33d
Addjust profit calculation and use the blocks channel directly
Ruteri Aug 11, 2022
262f18c
Add more explicit builder flags and other QoL improvements (#20)
Ruteri Aug 16, 2022
9d24d68
Resubmit block build job periodically (#22)
Ruteri Aug 25, 2022
f248ccb
Implement proposer payment via transaction (#23)
bhakiyakalimuthu Aug 11, 2022
b87888e
Base block profit on the proposer payment instead of balance differen…
Ruteri Aug 31, 2022
1633a5d
Flashbots change up to v0.3
jparyani Oct 27, 2021
7c424df
Flashbots changes v0.3 to v0.4
bogatyy Oct 27, 2021
4ea7e11
Flashbots changes v0.4 to v0.5
Ruteri Feb 21, 2022
70a26aa
Private Transaction API Sample (v1.10.13)
xcarlo Nov 29, 2021
a3d99c2
Remove private transactions that are confirmed in blocks
Jan 28, 2022
6fe1708
Run private transactions e2e tests in ci
Ruteri Feb 24, 2022
231448f
Discard reverting megabundle blocks and head change interrupted block…
Ruteri Mar 30, 2022
997e95b
Seal the best block available
Ruteri Jul 29, 2022
913a792
Implement block validation API
Ruteri Aug 17, 2022
e16c69e
Add timeout to e2e
Ruteri Aug 11, 2022
d55f648
Upgrade dependencies
Ruteri Aug 30, 2022
1bc67bd
Only submit blocks that improve profit (#19)
Ruteri Aug 31, 2022
6449811
Remove megabundles as they are no longer needed (#20)
Ruteri Aug 31, 2022
9b27c8a
Implement pushing blocks data to the DB (#18)
Ruteri Aug 31, 2022
74b7659
add miner blocklist (#21)
dvush Sep 1, 2022
624b2df
fix statedb copy (#22)
dvush Sep 2, 2022
a39100e
Rate limit blocks submitted to the relay and DB (#25)
Ruteri Sep 7, 2022
39d4fab
fix proposer payout bug with payout tx (#27)
dvush Sep 13, 2022
04d0def
add other state access to touch tracer (#26)
dvush Sep 13, 2022
ae3e497
init bundle fetcher (#24)
bhakiyakalimuthu Sep 13, 2022
47140e7
increase payment tx gas limit
dvush Sep 15, 2022
78b79f6
do not fetch bundle if empty block num during the starup (#29)
bhakiyakalimuthu Sep 19, 2022
4e08119
Update gas limit in api check (#30)
Ruteri Sep 20, 2022
f4fad7d
set proposer payment to 26k (#31)
dvush Sep 21, 2022
2b1d810
Adjust block number for bundle fetching (#32)
Ruteri Sep 21, 2022
97fa9c1
new greedy builder
dvush Sep 8, 2022
982e38f
sim bundles in parallel (new merger) (#33)
dvush Sep 23, 2022
570b42c
Merge new merger algo and mev-geth
Ruteri Sep 23, 2022
ba76641
Enable portable blst
Ruteri Sep 23, 2022
79c9121
Build on multiple tips (#35)
dvush Sep 28, 2022
fade0b7
better logs (#36)
dvush Sep 28, 2022
e5037ec
squash more annoying logs (#37)
dvush Sep 28, 2022
cee22fa
Logs pt 3 (#38)
dvush Sep 28, 2022
c5dae01
New payment tx (#40)
dvush Oct 5, 2022
dbe3dff
Improvements from greedy improve algo (#41)
Ruteri Oct 7, 2022
9a62829
Do not commit failing payment txs (#43)
Ruteri Oct 11, 2022
baf280f
More bundle visibility (#42)
Ruteri Oct 17, 2022
12041db
Cleanup and include old mev geth prs (#45)
Ruteri Oct 25, 2022
a4fd793
Increase submission rate to 2 blocks per second (#47)
Ruteri Oct 25, 2022
6152cfc
Add disable bundle fetcher flag (#48)
Ruteri Nov 3, 2022
5d7d714
update readme (#49)
dvush Nov 18, 2022
a10a730
Update README.md
metachris Nov 18, 2022
a02f4e0
Merge pull request #1 from flashbots/metachris-patch-1
bertmiller Nov 18, 2022
7379542
Merge changes from validation (#4)
Ruteri Nov 22, 2022
4d1b163
Use snapshots for blocklist revert (#5)
dvush Nov 22, 2022
f4d48be
added contributing.md (#8)
metachris Nov 23, 2022
9ca4d16
cleanup cla (#9)
metachris Nov 23, 2022
6cdb430
Add builder config toml support (#2)
refcell Nov 28, 2022
5d25e8b
Add submitting and requesting registrations from multiple relays
Ruteri Oct 18, 2022
2c80489
Refactor relay aggregator registrations and tests, add better logging
avalonche Nov 29, 2022
2456f57
Fix duplicate relay registrations in cache (#15)
avalonche Dec 5, 2022
c216aca
Improve performance of token compilation (#12)
estensen Dec 6, 2022
e7810b5
Increase submission delay from 0.5s to 1s
madjarevicn Dec 7, 2022
8033129
Merge branch 'main' of https://github.com/DcentraLab/builder
madjarevicn Dec 7, 2022
ff77df3
Set rate to 0.6 secs to avoid rate limit.
madjarevicn Dec 7, 2022
33935a5
Fix
madjarevicn Dec 8, 2022
6b30dbb
Update outdated parts of README (#22)
avalonche Dec 8, 2022
d2b1409
Add log for block.profit
madjarevicn Dec 14, 2022
e34a579
Merge branch 'flashbots:main' into main
madjarevicn Dec 14, 2022
78c823d
Create docker-image.yml
madjarevicn Dec 14, 2022
9d84d2d
Update Dockerfile
madjarevicn Dec 14, 2022
9d21297
updated dockerfile
madjarevicn Dec 14, 2022
2a85eb4
Update Dockerfile
madjarevicn Dec 19, 2022
c582dd0
Updated docker file COPY path.
Miljan9602 Dec 20, 2022
879010a
Merge pull request #1 from Miljan9602/patch-1
madjarevicn Dec 20, 2022
1c9a6a8
Updated dockerfile file
Miljan9602 Dec 21, 2022
0a0f211
Updated docker file with ./
Miljan9602 Dec 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 📝 Summary

<!--- A general summary of your changes -->

## 📚 References

<!-- Any interesting external links to documentation, articles, tweets which add value to the PR -->

---

* [ ] I have seen and agree to [`CONTRIBUTING.md`](https://github.com/flashbots/builder/blob/main/CONTRIBUTING.md)
29 changes: 29 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Docker-image

on:
push:
branches:
- 'main'

jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
push: true
tags: 2key/dcentralab-geth-builder:latest
84 changes: 84 additions & 0 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Go

on:
push:
pull_request:
branches: [ main ]

env:
CGO_CFLAGS_ALLOW: "-O -D__BLST_PORTABLE__"
CGO_CFLAGS: "-O -D__BLST_PORTABLE__"

jobs:

build:
name: Build
runs-on: ubuntu-latest
steps:

- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.13
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Test
run: go test ./core ./miner/... ./internal/ethapi/... ./les/...

- name: Build
run: make geth

e2e:
name: End to End
runs-on: ubuntu-latest
timeout-minutes: 20
steps:

- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ^1.13
id: go

- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x

- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Build
run: make geth

- name: Check out the e2e code repo
uses: actions/checkout@v2
with:
repository: flashbots/mev-geth-demo
ref: no-megabundles
path: e2e

- run: cd e2e && yarn install
- name: Run single node e2e
run: |
cd e2e
GETH=`pwd`/../build/bin/geth ./run.sh &
sleep 15
yarn run demo-simple
yarn run e2e-reverting-bundles
yarn run demo-contract
pkill -9 geth || true
- name: Run private tx with two nodes
run: |
cd e2e
GETH=`pwd`/../build/bin/geth ./run.sh &
# Second node, not mining
P2P_PORT=30302 DATADIR=datadir2 HTTP_PORT=8546 AUTH_PORT=8552 MINER_ARGS='--nodiscover' GETH=`pwd`/../build/bin/geth ./run.sh &
sleep 15
DATADIR1=datadir DATADIR2=datadir2 GETH=`pwd`/../build/bin/geth ./peer_nodes.sh
sleep 15
yarn run demo-private-tx
pkill -9 geth || true
39 changes: 39 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Contributing guide

Welcome to the Flashbots collective!

Thanks for your help improving the project! We are so happy to have you! We just ask you to be nice when you play with us.

Please start by reading our [license agreement](#individual-contributor-license-agreement) below, and our [code of conduct](CODE_OF_CONDUCT.md).

## Code style

Start by making sure that your code is readable, consistent, and pretty.
Follow the [Clean Code](https://flashbots.notion.site/Clean-Code-13016c5c7ca649fba31ae19d797d7304) recommendations.

## Send a pull request

- Your proposed changes should be first described and discussed in an issue.
- Open the branch in a personal fork, not in the team repository.
- Every pull request should be small and represent a single change. If the problem is complicated, split it in multiple issues and pull requests.
- Every pull request should be covered by unit tests.

We appreciate you, friend <3.

---

# Individual Contributor License Agreement

This text is adapted from Google's contributors license agreement: https://cla.developers.google.com/about/google-individual

You accept and agree to the following terms and conditions for Your present and future Contributions submitted to Flashbots. Except for the license granted herein to Flashbots and recipients of software distributed by Flashbots, You reserve all right, title, and interest in and to Your Contributions.
1. Definitions.
* "You" (or "Your") shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Agreement with Flashbots. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
* "Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to Flashbots for inclusion in, or documentation of, any of the products owned or managed by Flashbots (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to Flashbots or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Flashbots for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."
2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Flashbots and to recipients of software distributed by Flashbots a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works, under the terms of the license which the project is using on the Submission Date.
3. Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Flashbots and to recipients of software distributed by Flashbots a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.
4. You represent that you are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived such rights for your Contributions to Flashbots, or that your employer has executed a separate Corporate CLA with Flashbots.
5. You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.
6. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON- INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
7. Should You wish to submit work that is not Your original creation, You may submit it to Flashbots separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]".
8. You agree to notify Flashbots of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ RUN cd /go-ethereum && go run build/ci.go install -static ./cmd/geth
FROM alpine:latest

RUN apk add --no-cache ca-certificates
COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/

COPY --from=builder /go-ethereum/build/bin/geth ./

EXPOSE 8545 8546 30303 30303/udp
ENTRYPOINT ["geth"]
Expand Down
Loading