Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream v2.56.2 #154

Merged
merged 141 commits into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
3fcb1e6
add config files to gitignore (#8894)
elee1766 Dec 4, 2023
6a70aaa
params: begin 2.56 release cycle (#8895)
yperbasis Dec 4, 2023
c5f4c76
fix: ethdb-doc (#8886)
ddl-hust Dec 4, 2023
1492cc4
fixing typos (#8883)
anil2ec4 Dec 4, 2023
47a6ac1
[beacon handler] framework (#8851)
elee1766 Dec 4, 2023
df9b474
fix: Example TOML config file parsing error (#8902)
ddl-hust Dec 5, 2023
9bea4e3
blockReader: read `blockNum == r.FrozenBlocks()` from files (#8890)
AskAlexSharov Dec 5, 2023
f9f36b5
chore:TxPoolGossipDisableFlag usage (#8899)
ddl-hust Dec 5, 2023
edcd7fc
update outdated information (#8906)
ddl-hust Dec 6, 2023
96bb5dd
silkworm: macOS Intel library (#8891)
battlmonstr Dec 6, 2023
e11e374
estimate: less ram for indexing (#8911)
AskAlexSharov Dec 6, 2023
7335dcc
mdbx: print in logs - real limit (#8910)
AskAlexSharov Dec 6, 2023
c477281
Caplin: Parallel historical states reconstruction (#8817)
Giulio2002 Dec 6, 2023
7542769
bor snaps: "erigon snapshots retire" to build bor files (#8912)
AskAlexSharov Dec 6, 2023
8bfff94
Update gnosis bootnodes (#8907)
4rgon4ut Dec 6, 2023
0d2aecf
Backfill only with flag (#8913)
Giulio2002 Dec 6, 2023
624e4d4
Fix snap initialization from frozen blocks (#8908)
mh0lt Dec 6, 2023
d78cbfe
silkworm: disable on incompatible Linux versions (#8893)
battlmonstr Dec 6, 2023
6960ec3
up `golang/x` deps (#8900)
AskAlexSharov Dec 6, 2023
f3822b1
sepolia: auto-gen snaps to 4.7M (#8898)
AskAlexSharov Dec 7, 2023
5987d4e
Enable superfluous ws.port flag to fix some Hive RPC tests (#8909)
somnathb1 Dec 7, 2023
dac73f4
silkworm: check glibcpp compatibility (#8932)
battlmonstr Dec 7, 2023
b86bdb7
silkworm: disable in release binaries (#8927)
battlmonstr Dec 8, 2023
c91ca2d
dvovk/sync file level (#8931)
dvovk Dec 8, 2023
4696769
dvovk/snapshotsstats (#8935)
dvovk Dec 8, 2023
e006db6
evm cli: no logs if --json (#8925)
AskAlexSharov Dec 9, 2023
07331f9
Adds access list sorting (#8933)
3commascapital Dec 9, 2023
be10b7d
bor: block snaps 50m (#8941)
AskAlexSharov Dec 10, 2023
0364467
max blocks in gossipsource (#8944)
elee1766 Dec 10, 2023
3d9cb04
fix: cl/beacon genesisResponse name (#8923)
ddl-hust Dec 11, 2023
34d93fb
makefile: unquote silkworm build tag - to make it concatenatable (#8948)
AskAlexSharov Dec 11, 2023
7fb8f9d
log blocks stat after downloading, before indexing (#8947)
AskAlexSharov Dec 11, 2023
2498787
Resumable beacon state reconstruction (#8918)
Giulio2002 Dec 11, 2023
4217f78
Fix case when there are more than one matching libraries (#8955)
JacekGlen Dec 12, 2023
d41d523
Downloader: add `ProhibitNewDownloads()` (#8939)
AskAlexSharov Dec 12, 2023
faaf5a0
Amend incarnation logic (#8954)
yperbasis Dec 12, 2023
c1146bd
p2p: skip TestUDPv4_smallNetConvergence on Linux (#8731) (#8962)
battlmonstr Dec 12, 2023
06e77d1
don't log cancelation error at graceful shutdown (#8943)
AskAlexSharov Dec 12, 2023
ac1e42b
added grabbing info about downloaded metadata (#8972)
dvovk Dec 13, 2023
4e83ef0
Optimized beacon state retrieval (#8963)
Giulio2002 Dec 13, 2023
58dabdc
Fixup bittorrent/webseed download logs after refactoring (#8976)
AlexeyAkhunov Dec 13, 2023
3b68d57
collect statistics even for download completed or not started files (…
dvovk Dec 14, 2023
b26d0f2
Engine API PR 498 (clarify payloadAttributes checks) (#8982)
yperbasis Dec 14, 2023
ce57b8f
silkworm: make install (#8985)
battlmonstr Dec 14, 2023
1a6b83b
borheimdall: add test for span persistence (#8988)
taratorio Dec 14, 2023
e82147c
added collecting info about snapshot indexing, renamed downloading pr…
dvovk Dec 15, 2023
e018bb0
cmd/evm:fix Env struct json tag (#8986)
ddl-hust Dec 15, 2023
eeb471d
Added Finality_Checkpoints endpoint (#8979)
Giulio2002 Dec 15, 2023
5d0627f
Fix typo in log message (#8984)
phillipleblanc Dec 15, 2023
9ccd8a1
snapshots: --metrics must not affect logs about peers rate (#8990)
AskAlexSharov Dec 15, 2023
d23f306
borheimdall: add tests for state sync events persistence (#8989)
taratorio Dec 15, 2023
a53b1d8
flip this inequality (#8904)
elee1766 Dec 16, 2023
f934ecb
Fix beacon api handler (#8999)
elee1766 Dec 16, 2023
6a1bb1d
Added Blinded blocks type and Beacon endpoints (#9002)
Giulio2002 Dec 16, 2023
47c5f16
downloader: don't log complete files info (#9013)
AskAlexSharov Dec 18, 2023
1468317
erigon snapshots index: build bor indices (#9009)
AskAlexSharov Dec 18, 2023
ffc26b0
Added GET SyncCommittees (#9003)
Giulio2002 Dec 18, 2023
a366629
Cleanuped up request handling (#9007)
Giulio2002 Dec 18, 2023
037754a
rpc: add `txHash` to `debug_traceBlock*` results (#9016)
yperbasis Dec 18, 2023
4f95342
freezeblocks: fix blockreader last frozen bor span and event ids (#9018)
taratorio Dec 18, 2023
33fc53f
build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#9020)
dependabot[bot] Dec 19, 2023
a0b9d60
Update Consensus Specification tests (#9024)
Giulio2002 Dec 19, 2023
e75dc25
Disabled caplin phase2 for Gnosis temporairly. (#9006)
Giulio2002 Dec 19, 2023
0c4bebb
Update Ethereum Mainnet storage requirements (#9037)
Dec 20, 2023
1ae3f41
db migration: if stage_snapshots > 0, then create prohibit_new_downlo…
AskAlexSharov Dec 20, 2023
2760eeb
polygon: astrid sync heimdall wrapper (#9017)
battlmonstr Dec 20, 2023
7107cfe
snaps: stop merge to 500K and enjoy immutability (#9034)
AskAlexSharov Dec 21, 2023
379a5f8
harness test: to use `Mock` for genesis write - for e35 compatibility…
AskAlexSharov Dec 21, 2023
4eecd8c
print_stages: bor snaps info (#9008)
AskAlexSharov Dec 21, 2023
8c82225
remove bor mainnet files (#9033)
AskAlexSharov Dec 21, 2023
56c5f65
downloader: handle race between adding magnet link and files from web…
AskAlexSharov Dec 21, 2023
1499fbb
reduce mutex-contention in downloader.ReCalcStats (#9044)
AskAlexSharov Dec 21, 2023
9eb9151
atomic CRUD for .torrent files (#9043)
AskAlexSharov Dec 21, 2023
55d37b9
bor: spanID calculation refactoring (#9040)
battlmonstr Dec 21, 2023
3b10ba9
Fix creation of torrent files (#9048)
AlexeyAkhunov Dec 21, 2023
393dd18
QA Test - Clean exit (#8981)
mriccobene Dec 21, 2023
0e18866
Added fill-up with pre-existing API (#9042)
Giulio2002 Dec 21, 2023
95434d1
webseed: remove dependency on db state (#9051)
AskAlexSharov Dec 22, 2023
657aafd
allow erigon download .torrent from webseed by default (#9052)
AskAlexSharov Dec 22, 2023
a45b4c7
txpool: the same logging style of announced and broadcasted tx (#9054)
jsvisa Dec 22, 2023
eb4685f
mode to produce block snapshots (#9053)
AskAlexSharov Dec 22, 2023
64072ce
polygon/sync: implement header downloader (#9030)
taratorio Dec 22, 2023
a3a6170
Allow proxy paths in Heimdall URL (#8940)
mh0lt Dec 22, 2023
a36071e
dvovk/snapidx (#9049)
dvovk Dec 22, 2023
ec970ac
Fixed duplicate bucket names, remove presigned URLs (#9060)
AlexeyAkhunov Dec 23, 2023
2b87d65
retire: handle case when bor snaps are behind block snaps (#9061)
AskAlexSharov Dec 23, 2023
a2f375c
Add `blocksByRange` & `blocksByRoot` P2P rpc handlers (#8885)
bayram98 Dec 23, 2023
6a83a91
Add create access list test (#9062)
lupin012 Dec 23, 2023
a4d7b6d
Switched Caplin snapshot format to ZSTD blinded blocks (#9058)
Giulio2002 Dec 23, 2023
be4036e
Added tests to sentinel (FINALLY!) (#9066)
Giulio2002 Dec 24, 2023
88a8aa6
rpcademon: eth_createAccessList: fix in retrieve nonce (#9064)
lupin012 Dec 24, 2023
4186213
disable TestSentinelGossipAverage (#9070)
AskAlexSharov Dec 24, 2023
77d32cc
"downloader manifest": cmd to produce manifest.txt (#9067)
AskAlexSharov Dec 24, 2023
e08003f
block retire: merge all possible files (even bor) even if nothing to …
AskAlexSharov Dec 24, 2023
2944abb
fix typo in snap webseed server names (#9072)
AskAlexSharov Dec 24, 2023
eaf0348
[Grindmas] Added tests to Beacon API, also fixed stuff. (#9074)
Giulio2002 Dec 25, 2023
ab4a00f
disable TestSentinelStatusRequest (failing on WIN CI) (#9076)
AskAlexSharov Dec 25, 2023
bc50bd5
make 500K files also seedable (because they actually are) (#9077)
AskAlexSharov Dec 25, 2023
0d31444
bor mainnet 51m (#9073)
AskAlexSharov Dec 25, 2023
9f9e364
Update Polygon storage requirements (#9014)
yperbasis Dec 25, 2023
cdb4731
Added Validators endpoint to Beacon API (#9080)
Giulio2002 Dec 25, 2023
a48db43
return deleted caplin-v2 webseed (#9083)
AskAlexSharov Dec 26, 2023
df0699a
Added sentry simulator implementation (#9087)
mh0lt Dec 27, 2023
79ed8ca
E2 snapshot uploading (#9056)
mh0lt Dec 27, 2023
398bcb5
rpc: implement txpool_contentFrom (#9057)
jsvisa Dec 28, 2023
698ee60
Beacon API: Added attestation rewards endpoint. (#9091)
Giulio2002 Dec 28, 2023
ab27531
Introduce new public buckets for the snapshots (#9094)
AlexeyAkhunov Dec 28, 2023
6770487
borheimdall: add tests for validator set and selected proposers valid…
taratorio Dec 28, 2023
1f237c0
borheimdall: only fetch next span when in last sprint of current span…
taratorio Dec 28, 2023
f8cc27a
heimdall: use span id as naming (#9097)
taratorio Dec 28, 2023
fc9dae1
heimdall: add max retries to heimdall client (#9098)
taratorio Dec 28, 2023
b562eff
heimdall: better error logging for clerk/event-record/list nil respon…
taratorio Dec 30, 2023
510d62a
[caplin] sse handler placeholder (#9082)
elee1766 Dec 30, 2023
78bb3cd
[caplin] topic strings (#9000)
elee1766 Dec 30, 2023
46ecf03
Added GET /eth/v1/beacon/rewards/blocks/{block_id} and POST /eth/v1/b…
Giulio2002 Dec 30, 2023
19bc328
Added db loggers to all db callers and fixed flag settings (#9099)
mh0lt Dec 31, 2023
580c555
Make caplin snapshots downloadable (only sepolia) (#9105)
Giulio2002 Dec 31, 2023
a959387
Make caplin sync snapshots (all of them) (#9106)
Giulio2002 Jan 1, 2024
bab123c
more endpoints (#9109)
elee1766 Jan 1, 2024
13da868
Added RANDAO Api (#9108)
Giulio2002 Jan 1, 2024
415b17c
Updated erigon-snapshots (#9111)
Giulio2002 Jan 2, 2024
3d10cee
Make Caplin work with Otterscan (#9115)
Giulio2002 Jan 2, 2024
777f5dc
added collection for log prefix (#9118)
dvovk Jan 3, 2024
a2274f3
chore(cmd/evm):fix link jump in cmd/evm/README.md (#9114)
ddl-hust Jan 3, 2024
a645ef6
Update README.md (#9112)
oxbau Jan 3, 2024
391b267
Schedule Dencun for Görli (#9116)
yperbasis Jan 3, 2024
b94ca6d
devnet: fix ws port clash for state-sync scenario (#9125)
taratorio Jan 3, 2024
18baf81
Caplin: Fixed Invalid reading for historical states (#9124)
Giulio2002 Jan 3, 2024
82822ee
erigon snapshots integrity: add check for body.BaseTxnID (#9121)
AskAlexSharov Jan 4, 2024
a49fcb8
release params: remove dev from version (#9143)
yperbasis Jan 5, 2024
d079008
release: Amoy bootnodes (#9166)
yperbasis Jan 8, 2024
c9216ce
p2p/discv4: revert gotreply handler change from #8661 (#9119) (#9195)…
battlmonstr Jan 11, 2024
d391d2c
Merge tag 'v2.56.2' into upstream-v2.56.2
ImTei Apr 5, 2024
a34c351
Update go.mod
ImTei Apr 5, 2024
27617b0
Fix build errors
ImTei Apr 5, 2024
ecad027
Revert "release 2.55: Revert PR 8829 (#8896)"
ImTei Apr 5, 2024
8dfd326
Fix build errors
ImTei Apr 5, 2024
4060104
Remove duplicated flag
ImTei Apr 5, 2024
0ac47b9
Fix test build error
ImTei Apr 5, 2024
8c03e9d
Update TestGoerliForkDigest after Dencun (#9251)
yperbasis Jan 17, 2024
b4475c6
Fix block time for calculating base fee
ImTei Apr 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
strategy:
matrix:
os: [ ubuntu-20.04, macos-11 ] # list of os: https://github.com/actions/virtual-environments
os: [ ubuntu-22.04, macos-13-xlarge ] # list of os: https://github.com/actions/virtual-environments
runs-on: ${{ matrix.os }}

steps:
Expand Down Expand Up @@ -113,7 +113,7 @@ jobs:
docker-build-check:
# don't run this on devel - the PR must have run it to be merged and it misleads that this pushes the docker image
if: (${{ github.event_name == 'push' || !github.event.pull_request.draft }}) && ${{ github.ref != 'refs/heads/devel' }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: AutoModality/action-clean@v1
- uses: actions/checkout@v3
Expand All @@ -129,7 +129,7 @@ jobs:

# automated-tests:
# runs-on:
# ubuntu-20.04
# ubuntu-22.04
# if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
# steps:
# - uses: actions/checkout@v3
Expand Down
89 changes: 89 additions & 0 deletions .github/workflows/qa-clean-exit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: QA - Clean exit on Ctrl-C

on:
push:
branches:
- devel
- alpha
- 'release/**'
pull_request:
branches:
- devel
- alpha
- 'release/**'
types:
- opened
- reopened
- synchronize
- ready_for_review

jobs:
long-running-test:
#if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
#strategy:
# matrix:
# os: [ ubuntu-22.04, macos-13-xlarge ]
#runs-on: ${{ matrix.os }}
runs-on: self-hosted
env:
ERIGON_DATA_DIR: ${{ github.workspace }}/erigon_data

steps:
- name: Check out repository
uses: actions/checkout@v2

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

#- name: Install dependencies
# run: |
# sudo apt-get update
# sudo apt-get install -y build-essential make gcc

- name: Clean Erigon Build Directory
run: |
make clean

- name: Build Erigon
run: |
make erigon
working-directory: ${{ github.workspace }}

#- name: Download Python Script for Logs Checking
# run: |
# curl -o check_erigon_exit.py 'https://gist.githubusercontent.com/mriccobene/8db4030a745de34d527f136f2caa104f/raw/3c1a860cb87d61075e78ce399e17f0ab157cacc6/check_erigon_exit.py'

- name: Run Erigon, send ctrl-c and check for clean exiting
run: |
# Run Erigon, send ctrl-c and check logs
python3 ${{ github.workspace }}/../../../../erigon-qa/test_system/qa-tests/clean-exit/run_and_check_clean_exit.py ${{ github.workspace }}/build/bin $ERIGON_DATA_DIR

# Capture monitoring script exit status
monitoring_exit_status=$?

# Clean up Erigon process if it's still running
if kill -0 $ERIGON_PID 2> /dev/null; then
echo "Terminating Erigon"
kill $ERIGON_PID
wait $ERIGON_PID
else
echo "Erigon has already terminated"
fi

# Clean up Erigon build and data directories
rm -rf $ERIGON_DATA_DIR

# Check monitoring script exit status
if [ $monitoring_exit_status -eq 0 ]; then
echo "Monitoring completed successfully"
else
echo "Error detected in Erigon logs or monitoring script exited unexpectedly"
exit 1
fi
3 changes: 1 addition & 2 deletions .github/workflows/test-integration-caplin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ jobs:
strategy:
matrix:
# disable macos-11 until https://github.com/ledgerwatch/erigon/issues/8789
# os: [ ubuntu-20.04, macos-11 ] # list of os: https://github.com/actions/virtual-environments
os: [ ubuntu-20.04 ] # list of os: https://github.com/actions/virtual-environments
os: [ ubuntu-22.04 ] # list of os: https://github.com/actions/virtual-environments
runs-on: ${{ matrix.os }}

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
tests:
strategy:
matrix:
os: [ ubuntu-20.04, macos-11 ] # list of os: https://github.com/actions/virtual-environments
os: [ ubuntu-22.04, macos-13-xlarge ] # list of os: https://github.com/actions/virtual-environments
runs-on: ${{ matrix.os }}

steps:
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,9 @@ jwt.hex
*__debug_bin*
yarn.lock
node_modules

/config.toml
/config.yaml
/config.yml

vendor
60 changes: 37 additions & 23 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
project_name: op-erigon
project_name: erigon

release:
disable: false
Expand All @@ -14,7 +14,7 @@ builds:
env:
- CC=o64-clang
- CXX=o64-clang++
tags: [ nosqlite, noboltdb ]
tags: [ nosqlite, noboltdb, nosilkworm ]
ldflags: -s -w

- id: darwin-arm64
Expand All @@ -25,7 +25,7 @@ builds:
env:
- CC=oa64-clang
- CXX=oa64-clang++
tags: [ nosqlite, noboltdb ]
tags: [ nosqlite, noboltdb, nosilkworm ]
ldflags: -s -w

- id: linux-amd64
Expand All @@ -36,7 +36,7 @@ builds:
env:
- CC=x86_64-linux-gnu-gcc
- CXX=x86_64-linux-gnu-g++
tags: [ nosqlite, noboltdb ]
tags: [ nosqlite, noboltdb, nosilkworm ]
ldflags: -s -w -extldflags "-static" # We need to build a static binary because we are building in a glibc based system and running in a musl container

- id: linux-arm64
Expand All @@ -47,27 +47,28 @@ builds:
env:
- CC=aarch64-linux-gnu-gcc
- CXX=aarch64-linux-gnu-g++
tags: [ nosqlite, noboltdb ]
tags: [ nosqlite, noboltdb, nosilkworm ]
ldflags: -s -w -extldflags "-static" # We need to build a static binary because we are building in a glibc based system and running in a musl container

# - id: windows-amd64
# main: ./cmd/erigon
# binary: erigon
# goos: [ windows ]
# goarch: [ amd64 ]
# env:
# - CC=x86_64-w64-mingw32-gcc
# - CXX=x86_64-w64-mingw32-g++
# tags: [ nosqlite, noboltdb ]
# ldflags: -s -w
- id: windows-amd64
main: ./cmd/erigon
binary: erigon
goos: [ windows ]
goarch: [ amd64 ]
env:
- CC=x86_64-w64-mingw32-gcc
- CXX=x86_64-w64-mingw32-g++
tags: [ nosqlite, noboltdb, nosilkworm ]
ldflags: -s -w


snapshot:
name_template: "{{ .Tag }}.next"

dockers:
- image_templates:
- testinprod/{{ .ProjectName }}:{{ .Version }}-amd64
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-amd64
dockerfile: Dockerfile.release
use: buildx
skip_push: true
Expand All @@ -78,7 +79,8 @@ dockers:
- --platform=linux/amd64

- image_templates:
- testinprod/{{ .ProjectName }}:{{ .Version }}-arm64
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-arm64
dockerfile: Dockerfile.release
skip_push: true
use: buildx
Expand All @@ -89,17 +91,29 @@ dockers:
- --platform=linux/arm64/v8

docker_manifests:
- name_template: testinprod/{{ .ProjectName }}:{{ .Version }}
- name_template: thorax/{{ .ProjectName }}:{{ .Version }}
skip_push: true
image_templates:
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64

- name_template: ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}
skip_push: true
image_templates:
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-arm64

- name_template: thorax/{{ .ProjectName }}:latest
skip_push: true
image_templates:
- testinprod/{{ .ProjectName }}:{{ .Version }}-amd64
- testinprod/{{ .ProjectName }}:{{ .Version }}-arm64
- thorax/{{ .ProjectName }}:{{ .Version }}-amd64
- thorax/{{ .ProjectName }}:{{ .Version }}-arm64

- name_template: testinprod/{{ .ProjectName }}:latest
- name_template: ghcr.io/ledgerwatch/{{ .ProjectName }}:latest
skip_push: true
image_templates:
- testinprod/{{ .ProjectName }}:{{ .Version }}-amd64
- testinprod/{{ .ProjectName }}:{{ .Version }}-arm64
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-amd64
- ghcr.io/ledgerwatch/{{ .ProjectName }}:{{ .Version }}-arm64

announce:
slack:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ADD . .
RUN --mount=type=cache,target=/root/.cache \
--mount=type=cache,target=/tmp/go-build \
--mount=type=cache,target=/go/pkg/mod \
make all
make BUILD_TAGS=nosqlite,noboltdb,nosilkworm all


FROM docker.io/library/golang:1.20-alpine3.17 AS tools-builder
Expand Down
30 changes: 27 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,28 @@ CGO_CFLAGS += -O
CGO_CFLAGS += -D__BLST_PORTABLE__
CGO_CFLAGS += -Wno-unknown-warning-option -Wno-enum-int-mismatch -Wno-strict-prototypes -Wno-unused-but-set-variable

CGO_LDFLAGS := $(shell $(GO) env CGO_LDFLAGS 2> /dev/null)
ifeq ($(shell uname -s), Darwin)
ifeq ($(filter-out 13.%,$(shell sw_vers --productVersion)),)
CGO_LDFLAGS += -mmacosx-version-min=13.3
endif
endif

# about netgo see: https://github.com/golang/go/issues/30310#issuecomment-471669125 and https://github.com/golang/go/issues/57757
BUILD_TAGS = nosqlite,noboltdb

ifneq ($(shell "$(CURDIR)/turbo/silkworm/silkworm_compat_check.sh"),)
BUILD_TAGS := $(BUILD_TAGS),nosilkworm
endif

PACKAGE = github.com/testinprod-io/op-erigon

GO_FLAGS += -trimpath -tags $(BUILD_TAGS) -buildvcs=false
GO_FLAGS += -ldflags "-X ${PACKAGE}/params.GitCommit=${GIT_COMMIT} -X ${PACKAGE}/params.GitBranch=${GIT_BRANCH} -X ${PACKAGE}/params.GitTag=${GIT_TAG}"

GOBUILD = CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GO_FLAGS)
GO_DBG_BUILD = CGO_CFLAGS="$(CGO_CFLAGS) -DMDBX_DEBUG=1" $(GO) build -tags $(BUILD_TAGS),debug -gcflags=all="-N -l" # see delve docs
GOTEST = CGO_CFLAGS="$(CGO_CFLAGS)" GODEBUG=cgocheck=0 $(GO) test $(GO_FLAGS) ./... -p 2
GOBUILD = CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build $(GO_FLAGS)
GO_DBG_BUILD = CGO_CFLAGS="$(CGO_CFLAGS) -DMDBX_DEBUG=1" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) build -tags $(BUILD_TAGS),debug -gcflags=all="-N -l" # see delve docs
GOTEST = CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" GODEBUG=cgocheck=0 $(GO) test $(GO_FLAGS) ./... -p 2

default: all

Expand Down Expand Up @@ -122,6 +134,8 @@ COMMANDS += sentinel
COMMANDS += caplin
COMMANDS += caplin-regression
COMMANDS += tooling
COMMANDS += snapshots




Expand Down Expand Up @@ -226,6 +240,16 @@ git-submodules:
@git submodule sync --quiet --recursive || true
@git submodule update --quiet --init --recursive --force || true

## install: copies binaries and libraries to DIST
DIST ?= $(CURDIR)/build/dist
.PHONY: install
install:
mkdir -p "$(DIST)"
cp -f "$$($(CURDIR)/turbo/silkworm/silkworm_lib_path.sh)" "$(DIST)"
cp -f "$(GOBIN)/"* "$(DIST)"
@echo "Copied files to $(DIST):"
@ls -al "$(DIST)"

PACKAGE_NAME := github.com/testinprod-io/op-erigon
GOLANG_CROSS_VERSION ?= v1.20.7

Expand Down
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ in `erigon --help`). We don't allow change this flag after first start.
System Requirements
===================

* For an Archive node of Ethereum Mainnet we recommend >=3TB storage space: 1.8TB state (as of March 2022),
200GB temp files (can symlink or mount folder `<datadir>/temp` to another disk). Ethereum Mainnet Full node (
* For an Archive node of Ethereum Mainnet we recommend >=3.5TB storage space: 2.2TB state (as of December 2023),
470GB snapshots (can symlink or mount folder `<datadir>/snapshots` to another disk), 200GB temp files (can symlink or mount folder `<datadir>/temp` to another disk). Ethereum Mainnet Full node (
see `--prune*` flags): 400Gb (April 2022).

* Goerli Full node (see `--prune*` flags): 189GB on Beta, 114GB on Alpha (April 2022).

* Gnosis Chain Archive: 600GB (October 2023).

* Polygon Mainnet Archive: 5TB. (April 2022). `--prune.*.older 15768000`: 5.1Tb (Sept 2023). Polygon Mumbai Archive:
* Polygon Mainnet Archive: 8.5TiB (December 2023). `--prune.*.older 15768000`: 5.1Tb (September 2023). Polygon Mumbai Archive:
1TB. (April 2022).

SSD or NVMe. Do not recommend HDD - on HDD Erigon will always stay N blocks behind chain tip, but not fall behind.
Expand Down Expand Up @@ -369,13 +369,7 @@ Support only remote-miners.
, `--miner.gastarget`
* JSON-RPC supports methods: eth_coinbase , eth_hashrate, eth_mining, eth_getWork, eth_submitWork, eth_submitHashrate
* JSON-RPC supports websocket methods: newPendingTransaction
* TODO:
+ we don't broadcast mined blocks to p2p-network
yet, [but it's easy to accomplish](https://github.com/ledgerwatch/erigon/blob/9b8cdc0f2289a7cef78218a15043de5bdff4465e/eth/downloader/downloader.go#L673)
+ eth_newPendingTransactionFilter
+ eth_newBlockFilter
+ eth_newFilter
+ websocket Logs


<code> 🔬 Detailed explanation is [here](/docs/mining.md).</code>

Expand Down Expand Up @@ -439,7 +433,7 @@ of the yaml configuration file and sets the chain to goerli
Example of setting up TOML config file

```
`datadir = 'your datadir'
datadir = 'your datadir'
port = 1111
chain = "mainnet"
http = true
Expand Down
4 changes: 2 additions & 2 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Testing of new releases of Erigon should ideally include these checks.

## Incremental Sync

This check requires having the Erigon database synced previously. Lets assume (for command line examples) it is in the
This check requires having the Erigon database synced previously. Let's assume (for command line examples) it is in the
directory `~/mainnet/erigon/chaindata`.
Using `git pull` or `git checkout`, update the code to the version that is to be released (or very close to it). Then,
build erigon executable:
Expand Down Expand Up @@ -306,7 +306,7 @@ Example of recording command:
./build/bin/rpctest bench8 --erigonUrl http://192.168.1.2:8545 --gethUrl http://192.168.1.1:8545 --needCompare --blockFrom 9000000 --blockTo 9000100 --recordFile req.txt
```

The file format is plain text, with requests and responses are written in separate lines, and delimited by the tripple
The file format is plain text, with requests and responses are written in separate lines, and delimited by the triple
line breaks, like this:

```
Expand Down
Loading
Loading