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

Update/rebased with v1.10.25 #9

Merged
merged 288 commits into from
Oct 3, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
288 commits
Select commit Hold shift + click to select a range
b1837fe
cmd/faucet: add sepolia network support (#25128)
Zachinquarantine Jun 20, 2022
5d74157
trie: fix size accounting in cleaner (#25007)
aaronbuchwald Jun 21, 2022
21c5a14
all: remove concept of public/private API definitions (#25053)
lightclient Jun 21, 2022
ef5667a
cmd/geth: drop geth js command (#25000)
s1na Jun 21, 2022
1d8f0e1
README,rpc: remove mention of "shh" RPC API (#25137)
Zachinquarantine Jun 21, 2022
def5bf0
eth, miner: retrieve mining state from live database (#25139)
rjl493456442 Jun 22, 2022
f3fbe20
core: fix typo in txpool (#25149)
aaronbuchwald Jun 22, 2022
dedf584
go.mod: upgrade to latest goleveldb (#25067)
ucwong Jun 23, 2022
977f2f9
eth/tracers: optimize goja buffer conversion (#25156)
s1na Jun 23, 2022
e897f39
eth: fix typo (#25161)
int88 Jun 24, 2022
8f54f89
internal/ethapi: always return chain id (#25166)
lightclient Jun 24, 2022
91363aa
internal/ethapi: add note about eth_chainId compatibility with EIP-69…
lightclient Jun 25, 2022
5a868aa
all: remove `public` field from `rpc.API` (#25059)
lightclient Jun 27, 2022
48dea7f
cmd: migrate to urfave/cli/v2 (#24751)
willianpaixao Jun 27, 2022
ab29799
params: set TTD for sepolia testnet (#25179)
MariusVanDerWijden Jun 28, 2022
a8cd912
cmd/geth, p2p: add support for custom discovery UDP port (#24979)
zeim839 Jun 28, 2022
26f0888
fix: linter warning (#25192)
gballet Jun 29, 2022
e81f328
core/rawdb: fix typo in comment (#25191)
noirgif Jun 29, 2022
298a9b7
core/rawdb: simplify TestDiskSeek to use memorydb (#25182)
aaronbuchwald Jun 29, 2022
071ec40
cmd/utils: fix applying bootstrap nodes from config file (#25174)
andrepatta Jun 29, 2022
d20c72e
internal/ethapi: return chain id for EIP-155 legacy txs (#25155)
lightclient Jun 29, 2022
b8bea1e
common: increase StorageSize test coverage (#25188)
dbadoy Jun 29, 2022
a2ce563
consensus/beacon: check that only the latest pow block is valid ttd b…
MariusVanDerWijden Jun 29, 2022
006a726
build: fix auto-completion scripts and include them in .deb package (…
willianpaixao Jun 29, 2022
9f75b64
build: upgrade to golangci-lint v1.46.2 (#25202)
fjl Jun 29, 2022
bf7c078
build/deb: fix auto-completion install paths (#25204)
fjl Jun 29, 2022
440f09f
params: go-ethereum v1.10.20 stable
fjl Jun 29, 2022
9f41b99
params: begin v1.10.21 release cycle
fjl Jun 29, 2022
ba569e1
common/prque: fix typo
dbadoy Jun 30, 2022
a4100e9
eth/catalyst: disallow importing blocks via newPayload during snap sy…
karalabe Jul 1, 2022
39dca17
Replace fmt.Errorf with errors.New in abi argument (#25181)
aaronbuchwald Jul 4, 2022
1f4787c
all: change format `0x%x` to `%#x` (#25221)
dbadoy Jul 4, 2022
3a6227f
consensus/beacon: copy td value so we can modify it (#25230)
MariusVanDerWijden Jul 4, 2022
433169d
core: allow external code to set the block validator for malicious te…
MariusVanDerWijden Jul 4, 2022
cdfdd99
core: apply ttd override to uninitialized db (#25136)
MariusVanDerWijden Jul 4, 2022
58bf65f
signer/core/apitypes: support primitive types int96/uint96 (#25105)
spkjp Jul 4, 2022
d9e6667
cmd/geth, cmd/devp2p: fix some cli parsing issues (#25234)
fjl Jul 4, 2022
0dfb555
core: allow external processor (#25233)
MariusVanDerWijden Jul 5, 2022
f281994
consensus/beacon: verify timestamp is greater than parent timestamp (…
MariusVanDerWijden Jul 5, 2022
3e54a44
go.mod: updated logfmt dependency (#25231)
MariusVanDerWijden Jul 5, 2022
a263aa9
internal/ethapi: add basefee to block overrides (#25219)
s1na Jul 5, 2022
0c21d87
trie: fix typo in comment (#25241)
aaronbuchwald Jul 6, 2022
999a632
core/types: fix typo in comment (#25249)
dbadoy Jul 6, 2022
b290f13
internal/ethapi: fix chain ID check to return all non-zero IDs (#25244)
lightclient Jul 7, 2022
da9f36a
rpc: add graceful shutdown timeout for HTTP server (#25258)
cryptocifer Jul 8, 2022
236b95c
p2p/discover: fix typos in comments (#25272)
dbadoy Jul 10, 2022
8d2f2b4
build: upgrade -dlgo version to Go 1.18.3
sandakersmann Jul 5, 2022
a1736d6
core, eth: pre-allocate map in storage copy (#25279)
dbadoy Jul 12, 2022
a19b904
eth/tracers: add initial revertReasonTracer tracer (#25265)
fanbsb Jul 12, 2022
3992dd0
params: enable DNS discovery on Sepolia too
karalabe Jul 12, 2022
01d5e0e
internal/build: add a timestamp to the tar archive folder
karalabe Jul 12, 2022
3b18e83
build: upgrade -dlgo version to Go 1.18.4
sandakersmann Jul 12, 2022
563d3b3
accounts/abi: fix typo in comment (#25271)
eltociear Jul 14, 2022
fad30bb
accounts/abi/bind/backends: return hash of new blocks (#25163)
DragonDev1906 Jul 14, 2022
1f76be1
all: remove version field from rpc.API
lightclient Jun 15, 2022
690083a
internal/ethapi: error if tx args includes chain id that doesn't matc…
lightclient Jul 14, 2022
1e68254
core: remove lock in BlockChain.ExportN (#25254)
henridf Jul 14, 2022
e396190
core: prevent negative fee during RPC calls (#25214)
PlasmaPower Jul 15, 2022
3382d7f
core, les, eth: port snap sync changes (#24898)
rjl493456442 Jul 15, 2022
28f657c
tests: only activate merge on london rules (#25239)
MariusVanDerWijden Jul 15, 2022
fc922f8
trie: fix 'gosimple' lint issue (#25309)
fjl Jul 15, 2022
17b2d75
p2p/discover: apply netrestrict in discv5 response handler (#25304)
hadv Jul 15, 2022
3998b05
cmd/geth: remove redundant 0x in dbGet/dbDelete (#25315)
gballet Jul 18, 2022
fd6634e
accounts/abi: substitude arg%d to the range keyword (#25307)
gballet Jul 19, 2022
3119530
params: Add Shanghai and Cancun blocks (#25305)
gballet Jul 19, 2022
7125601
cmd/puppeth: remove support for exporting non-Geth genesis configurat…
jwasinger Jul 22, 2022
7691ad7
params: set goerli TTD to 10_790_000 (#25324)
MariusVanDerWijden Jul 22, 2022
53dddf0
signer/core: add canonical TypedData hashing methods (#25283)
nik-suri Jul 22, 2022
37bd173
params: set sepolia mergeNetsplitBlock to 1735371 (#25372)
MariusVanDerWijden Jul 23, 2022
33ab209
cmd/geth: eth/catalyst: enable authrpc by default (#25152)
MariusVanDerWijden Jul 23, 2022
9926e0b
deps: update goleveldb
holiman Jul 23, 2022
acff41e
eth/catalyst: better warning for ttd not configured (#25394)
MariusVanDerWijden Jul 25, 2022
03d0801
cmd: use flags.Merge for grouping flags (#25392)
rjl493456442 Jul 25, 2022
37c5c91
consensus/beacon: fix typo in comment (#25391)
gballet Jul 25, 2022
3c06ce0
p2p/netutil: minor code cosmetic
Abirdcfly Jul 25, 2022
46af5df
eth, internal, light: fix error string capitalization (#25364)
dbadoy Jul 25, 2022
1ccaae2
light: fix differTries err message in tests (#25358)
eval-exec Jul 25, 2022
e19dc49
all: add whitespace linter (#25312)
jsvisa Jul 25, 2022
fd69884
eth/tracers/js: fix capitalization in tests
karalabe Jul 25, 2022
b092971
eth: support bubbling up bad blocks from sync to the engine API (#25190)
karalabe Jul 25, 2022
fc1b84f
params: change Merge config to print simpler message
Zachinquarantine Jul 21, 2022
49e7df6
core: eth: rpc: implement safe rpc block (#25165)
MariusVanDerWijden Jul 25, 2022
c7c6a58
go.mod: downgrade leveldb (#25413)
rjl493456442 Jul 27, 2022
21f22a1
params: go-ethereum v1.10.21 stable
fjl Jul 27, 2022
713c6a7
params: begin v1.10.22 release cycle
fjl Jul 27, 2022
64e2279
core, trie, eth, cmd: rework preimage store (#25287)
rjl493456442 Jul 27, 2022
2548c86
eth/catalyst: fix NewPayload warn log when dropping due to snap sync
karalabe Jul 28, 2022
3f6e0c7
node: set JWT expiry to 60 seconds (#25416)
MariusVanDerWijden Jul 28, 2022
37f3fd0
eth/catalyst: return syncing not accepted (#25414)
MariusVanDerWijden Jul 28, 2022
a9e0aec
eth/catalyst: return 0x0 if latestvalid is pow block (#25423)
MariusVanDerWijden Jul 28, 2022
fba0d59
ethereum, ethclient: add FeeHistory support (#25403)
lightclient Jul 29, 2022
120e58d
all: use AbsTime.Add instead of conversion (#25417)
dbadoy Jul 29, 2022
878d50a
cm/puppeth: fix crash when of ethstats specifier doesn't contain `:` …
jsvisa Jul 29, 2022
2e74c2f
eth: fix typo in comment (#25327)
rithwikbabu Jul 29, 2022
fbdd8a3
common/compiler: json unmarshalling error checks (#25449)
henry-0 Aug 1, 2022
4fed854
cmd, core, eth, les, params: add merge-passed chain config (#24538)
karalabe Aug 1, 2022
290c13a
eth: fix typo in catalyst api (#25460)
s1na Aug 1, 2022
a2cd860
eth/gasprice/feehistory: support finalized block (#25442)
lightclient Aug 1, 2022
aea73d8
build: upgrade -dlgo version to Go 1.18.5
sandakersmann Aug 1, 2022
1391088
consensus/ethash: remove temp files created during DAG generation (#2…
manoj398 Aug 2, 2022
3bc6a38
cmd/devp2p/internal/ethtest: update tests for eth/67 (#25306)
fjl Aug 2, 2022
50d275d
node, rpc: add ReadHeaderTimeout config option (#25338)
Tristan-Wilson Aug 3, 2022
26db36b
core/types: fix typo in comment (#25359)
yzhaoyu Aug 3, 2022
4a0c4ea
core: preallocate batch size in bloomIndexer (#25289)
dbadoy Aug 3, 2022
c4e756d
internal/ethapi: don't estimate gas if no limit provided in eth_creat…
lightclient Aug 3, 2022
7c0f7ea
graphql: embed *Resolver instead of backend interface (#25468)
fjl Aug 3, 2022
896efd8
node: remove noop path.Join (#25475)
jsvisa Aug 4, 2022
a562039
core, trie: rework trie committer (#25320)
rjl493456442 Aug 4, 2022
1545c28
core: use TryGetAccount to read what TryUpdateAccount has written (#2…
gballet Aug 4, 2022
e73c357
cmd, core, ethdb, node: move chain freezer one folder deeper (#25487)
rjl493456442 Aug 8, 2022
d57aa6d
eth/downloader: fix log errors of queue_test.go (#25494)
int88 Aug 8, 2022
0c4f7c3
core: fix uncle creation in TestFastVsFullChains (#25476)
int88 Aug 8, 2022
0da1cc5
eth: formatted error nit (#25499)
aaronbuchwald Aug 9, 2022
d4d756d
eth/tracers: add onlyTopCall option to callTracer (#25430)
s1na Aug 9, 2022
3413ae6
all: cleanup the APIs for initializing genesis (#25473)
rjl493456442 Aug 9, 2022
2606de3
signer/rules: register clef api properly when rules are used (#25455)
holiman Aug 10, 2022
b12a8c4
core: remove unused bc ChainContext in applyTransaction
ycyraum Aug 10, 2022
37b9060
build: add static linking support (#25492)
0xe3b0c4 Aug 10, 2022
1e4b779
accounts/abi: display name in "method/event not found" error (#25512)
darioush Aug 11, 2022
29642fd
internal/ethapi: rework setDefaults for tx args so fee logic is separ…
lightclient Aug 11, 2022
bd10daa
core/genesis: remove calaverasAllocData (#25516)
ycyraum Aug 12, 2022
488c2d8
params: set ttdpassed on goerli (#25519)
holiman Aug 15, 2022
f5bd236
params: set mainnet terminal total difficulty for the merge (#25528)
MariusVanDerWijden Aug 16, 2022
303937e
core, trie: flush preimages to db on blockchain close (#25533)
gballet Aug 17, 2022
2b4c3d2
core/state, trie, light: add a TryDeleteAccount method (#25531)
gballet Aug 17, 2022
1266e5a
core: make tx journal check and open atomic (#25530)
dbadoy Aug 17, 2022
1220c7c
cmd. core: save preimages on genesis creation (#25538)
gballet Aug 18, 2022
1388091
rlp/rlpgen: fix error handling when target type not found (#25547)
jtraglia Aug 18, 2022
377321d
trie: improve node rlp decoding performance (#25357)
rjl493456442 Aug 18, 2022
74424f7
all: fix some typos (#25551)
jtraglia Aug 19, 2022
bf9efd3
internal/ethapi: fix comment typo (#25548)
ucwong Aug 19, 2022
45296b8
accounts/abi/bind/backends: typo fix (#25549)
ucwong Aug 19, 2022
1c95ed3
eth, les: unlock downloader peerSet if there's an error (#25546)
jtraglia Aug 19, 2022
8aedf92
cmd/geth: parse uint64 value with ParseUint instead of Atoi (#25545)
jtraglia Aug 19, 2022
f10eb7a
consensus/beacon: check ttd reached on pos blocks (#25552)
MariusVanDerWijden Aug 19, 2022
16ed5dc
eth/filters: add global block logs cache (#25459)
s1na Aug 19, 2022
6311efa
accounts/abi: fix set function (#25477)
zhiqiangxu Aug 19, 2022
4efd240
internal/ethapi: fix build regression (#25555)
fjl Aug 19, 2022
bca97df
eth/fetcher: don't spend too much time on transaction inclusion (#25524)
holiman Aug 19, 2022
a51aa74
Revert "eth/fetcher: don't spend too much time on transaction inclusi…
karalabe Aug 22, 2022
fb4049d
eth/catalyst: warn less frequently if no beacon client is available (…
karalabe Aug 22, 2022
c33f17a
params: release go-ethereum v1.10.22
fjl Aug 22, 2022
07cb931
params: begin v1.10.23 release cycle
fjl Aug 22, 2022
beedeb5
core, eth/downloader: handle spurious junk bodies from racey rollback…
karalabe Aug 23, 2022
408499f
core/state, trie: fix trie flush order for proper pruning
karalabe Aug 23, 2022
68e0c76
consensus/beacon: don't ignore errors
holiman Aug 23, 2022
f9461fc
params: release Geth v1.10.23
karalabe Aug 24, 2022
0d39f69
params: begin v1.10.24 release cycle
karalabe Aug 24, 2022
98cd387
params: begin go-ethereum v1.11 release cycle
fjl Aug 25, 2022
b5bc4ba
internal/ethapi: rename debug getters to match spec (#25176)
lightclient Aug 25, 2022
9207fdf
accounts/abi/bind: add const for tx fee elasticity multiplier (#25504)
xinbenlv Aug 25, 2022
e94a67c
all: remove duplicate word in comments (#25618)
Abirdcfly Aug 29, 2022
3c4c1b4
cmd/geth: fix legacy receipt detection for empty db (#25609)
s1na Aug 30, 2022
0195af7
build: fix ignored errors (#25591)
uji Aug 30, 2022
9fc7a5a
docs: specify execution client (#25566)
sandakersmann Aug 30, 2022
8596a10
ethclient: add 'finalized' and 'safe' block number support (#25580)
rachel-bousfield Aug 30, 2022
0b8234b
node: change JWT error status to 401 Unauthorized (#25629)
dbadoy Aug 30, 2022
4afa6ab
node: fix regression in TestJWT (#25635)
fjl Aug 30, 2022
fd920dc
all: move genesis initialization to blockchain (#25523)
rjl493456442 Aug 30, 2022
1a418e3
eth/catalyst: adjust eta for themerge (#25601)
holiman Aug 31, 2022
e5208d0
mobile: close node on error (#25643)
jakub-freebit Aug 31, 2022
a8c6fde
graphql: return correct logs for tx (#25612)
s1na Aug 31, 2022
07a1402
trie: fix grammar in comment (#25648)
aaronbuchwald Aug 31, 2022
f73f168
trie: cleanup stateTrie (#25640)
rjl493456442 Aug 31, 2022
d63fc01
eth/catalyst: prevent division by zero (#25654)
MariusVanDerWijden Aug 31, 2022
5bda9e6
trie: better error reporting (#25645)
holiman Sep 1, 2022
711881f
core/state: filter out nil trie for copy (#25575)
rjl493456442 Sep 1, 2022
6784c38
eth/protocols/snap: fix problems due to idle-but-busy peers
holiman Aug 31, 2022
11b6a2b
mobile: register filter APIs (#25642)
jakub-freebit Sep 2, 2022
f64091f
README.md: improve grammar (#25646)
xternet Sep 2, 2022
06a8762
eth/tracers/js: fill in log.refund field (#25661)
s1na Sep 2, 2022
5b120e8
eth/fetcher: throttle peers which deliver many invalid transactions (…
holiman Sep 2, 2022
34ff679
node, rpc: add JWT auth support in client (#24911)
protolambda Sep 2, 2022
cf1d8a9
rpc: check that "version" is "2.0" in request objects (#25570)
dbadoy Sep 2, 2022
dd62d13
trie: fix typo in comment (#25667)
dbadoy Sep 2, 2022
483b4c2
trie: fix unhandled error in test (#25628)
Kamandlou Sep 2, 2022
022a285
eth/tracers/js: improve integer types in log object (#25668)
fjl Sep 5, 2022
bdf74d4
trie: check childrens' existence concurrently for snap heal
karalabe Sep 6, 2022
cf4c60e
core, light, trie: remove DiskDB function from trie database (#25690)
rjl493456442 Sep 7, 2022
a917052
params: update chts (#25707)
rjl493456442 Sep 7, 2022
4fe7177
core/vm: rename RANDOM to PREVRANDAO (#25691)
MariusVanDerWijden Sep 7, 2022
566b3f7
all: cleanup tests (#25641)
rjl493456442 Sep 7, 2022
40a11aa
eth, les: rework chain tracer (#25143)
rjl493456442 Sep 7, 2022
ff365ef
eth/tracer: fix broken test (#25715)
rjl493456442 Sep 8, 2022
cd9c139
trie: update comments + err check for preimages (#25672)
darioush Sep 8, 2022
6bb7701
eth/protocols/snap: throttle trie heal requests when peers DoS us (#2…
karalabe Sep 9, 2022
219849d
p2p/msgrate: be more lenient when calculating 'mean' (#25653)
holiman Sep 9, 2022
f11ae6a
rpc: improve error codes for internal server errors (#25678)
niczy Sep 9, 2022
cd902b4
core: place a cap on reorglogs (#25711)
holiman Sep 9, 2022
2ca31a1
build: upgrade to go 1.19 (#25726)
fjl Sep 10, 2022
e0735c9
p2p/discover/v5wire: reject packets smaller than 63 bytes (#25740)
dbadoy Sep 12, 2022
7fdc6d0
core: preallocate maps in TxPool helper methods (#25737)
dbadoy Sep 12, 2022
1ddbe2a
accounts/abi: fix typo in error message (#25742)
bprosnitz Sep 13, 2022
e0233dd
graphql: fixes missing tx logs (#25745)
s1na Sep 13, 2022
cbbb8b7
cmd/geth: add a verkle subcommand (#25718)
gballet Sep 14, 2022
4619010
node: fix HTTP server always force closing (#25755)
ngotchac Sep 14, 2022
c3dc7df
core: fix log order in "Imported new chain segment" (#25768)
fjl Sep 15, 2022
4411196
node: fix lint issue in rpcstack.go (#25774)
fjl Sep 15, 2022
2b17546
les/catalyst/api: add support for ExchangeTransitionConfigurationV1 (…
pinkiebell Sep 15, 2022
6cc36a7
params: set TerminalTotalDifficultyPassed to true (#25769)
MariusVanDerWijden Sep 15, 2022
a0bbdd9
trie: handle more batch commit errors in Database (#25674)
Kamandlou Sep 15, 2022
16dc2d0
core/rawdb: fix leak of backoff timer (#25776)
ucwong Sep 16, 2022
fed352d
crypto/bls12381: docfix of g1 Affine (#25729)
georgercarder Sep 16, 2022
71cda4f
internal/ethapi: return error when requesting invalid trie key (#25762)
lightclient Sep 16, 2022
228e8a9
core: don't cache zero nonce in txNoncer (#25603)
dbadoy Sep 16, 2022
3a4aba6
core: more compact bad block report (#25714)
lightclient Sep 17, 2022
dadd639
core: move build version reading to its own package (#25806)
fjl Sep 19, 2022
50e36fb
eth: fix a rare datarace on CHT challenge reply / shutdown
karalabe Sep 20, 2022
9a16cdd
core/vm: return copy of input slice in identity precompile, avoid ret…
jwasinger Sep 20, 2022
5e54b81
core/blockchain: downgrade tx indexing and unindexing logs (#25832)
lightclient Sep 21, 2022
96f1f47
eth/tracers: fix trace config for `TraceCall` (#25821)
makcandrov Sep 21, 2022
3450705
eth/catalyst: add locking around newpayload (#25816)
holiman Sep 21, 2022
cb49a05
eth/catalyst: make tests run faster (#25818)
holiman Sep 21, 2022
4bba830
cmd/utils: make --authrpc.jwtsecret a DirectoryFlag (#25849)
jsvisa Sep 22, 2022
c7c8d19
eth/protocols/snap: make log messages more clear that sync is ongoing…
holiman Sep 23, 2022
81135ba
.github: add CL client to issue template (#25814)
s1na Sep 23, 2022
2d2417b
p2p: add channel buffers to avoid goroutine leaks in tests (#24929)
BurtonQin Sep 23, 2022
e3ff3c6
internal/version: use gitCommit injection in version handling code (#…
fjl Sep 23, 2022
6241d25
cmd/abigen: change --exc to exclude by type name (#22620)
sebastianst Sep 23, 2022
255c4ae
tests, les, eth: remove mentions of deprecated Morden testnet (#23570)
Zachinquarantine Sep 23, 2022
f6d5974
all: clean up the configs for pruner and snapshotter (#22396)
rjl493456442 Sep 23, 2022
4fa8ee6
cmd/puppeth, cmd/utils: finalize removal of gasTarget flag (#24370)
Zachinquarantine Sep 23, 2022
36636b3
core/types: improve accuracy of header.Size() (#25859)
zhiqiangxu Sep 26, 2022
d650415
eth/tracers: pad memory slice on OOB case (#25213)
s1na Sep 26, 2022
77a9ebc
cmd/faucet: fix readme typos (#25867)
omahs Sep 26, 2022
84f76ca
core: fix datarace in txpool, fixes #25870 and #25869 (#25872)
holiman Sep 26, 2022
ad29b3d
eth/downloader, les/downloader: fix subtle flaw in queue delivery (#2…
zhiqiangxu Sep 26, 2022
e0a8ec8
core/vm: better handle error on eip activation check (#25131)
qinglin89 Sep 26, 2022
9abd308
cmd/geth: make dumpgenesis load genesis datadir if it exists (#25135)
jwasinger Sep 26, 2022
20dcc1a
tests: fix state test error checking (#25702)
meowsbits Sep 26, 2022
13fe20f
eth/tracers: use gencodec for native tracers (#25637)
s1na Sep 26, 2022
87a9a82
cmd, core, eth, les, light: track deleted nodes (#25757)
rjl493456442 Sep 27, 2022
eb9a469
eth: return state error via GetEVM (#25876)
zhiqiangxu Sep 27, 2022
85b8130
eth/downloader: make flakey test less flakey (#25879)
holiman Sep 27, 2022
f9d0f1f
ethclient/gethclient: fix bugs in override object encoding (#25616)
simonovic86 Sep 27, 2022
e9a962e
trie, eth/protocols/snap: less tiny db-writes during trie-healing (#2…
holiman Sep 28, 2022
5268b38
accounts/abi/bind/backends: fix AdjustTime to respect Fork (#25225)
lightclient Sep 28, 2022
b61fde5
tests: report mgas/s metric in evm benchmarks (#25700)
shekhirin Sep 28, 2022
922a47a
core/vm: minor trivial clean up (#25880)
lmittmann Sep 28, 2022
5e30910
eth/tracers: fix a bug in prestateTracer (#25884)
jsvisa Sep 28, 2022
1dd9e9a
internal/ethapi: handle odd length hex in decodeHash (#25883)
f01c5700 Sep 28, 2022
7401449
core: rework tx indexer (#25723)
rjl493456442 Sep 29, 2022
1c634ec
accounts/abi: return toGoType error immediately (#25565)
ceyonur Sep 29, 2022
a1f4f84
eth/tracers: remove revertReasonTracer, add revert reason to callTrac…
s1na Sep 29, 2022
d10c8fc
accounts/abi/bind: parse ABI only once on bind (#25574)
mikhailv Sep 29, 2022
adf5aa6
internal/flags: fix issue with stringslice migration (#25830)
holiman Sep 29, 2022
7f7e6be
cmd/geth, cmd/utils: geth attach with custom headers (#25829)
holiman Sep 30, 2022
4a78fde
add market gas price to simulate duplicate nonce behavior (#7)
susannapaxos Sep 9, 2021
1f987c3
fix duplicated test
blakehhuynh Oct 3, 2022
73f5285
add back tests
blakehhuynh Oct 3, 2022
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ assignees: ''
#### System information

Geth version: `geth version`
CL client & version: e.g. lighthouse/nimbus/prysm@v1.0.0
OS & Version: Windows/Linux/OSX
Commit hash : (if `develop`)

Expand All @@ -27,4 +28,4 @@ Commit hash : (if `develop`)
[backtrace]
````

When submitting logs: please submit them as text and not screenshots.
When submitting logs: please submit them as text and not screenshots.
48 changes: 31 additions & 17 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,29 @@ run:
linters:
disable-all: true
enable:
- deadcode
- goconst
- goimports
- gosimple
- govet
- ineffassign
- misspell
# - staticcheck
- unconvert
# - unused
- varcheck
- typecheck
- unused
- staticcheck
- bidichk
- durationcheck
- exportloopref
- whitespace

# - structcheck # lots of false positives
# - errcheck #lot of false positives
# - contextcheck
# - errchkjson # lots of false positives
# - errorlint # this check crashes
# - exhaustive # silly check
# - makezero # false positives
# - nilerr # several intentional

linters-settings:
gofmt:
Expand All @@ -33,18 +45,20 @@ linters-settings:

issues:
exclude-rules:
- path: crypto/blake2b/
linters:
- deadcode
- path: crypto/bn256/cloudflare
linters:
- deadcode
- path: p2p/discv5/
linters:
- deadcode
- path: core/vm/instructions_test.go
linters:
- goconst
- path: cmd/faucet/
- path: crypto/bn256/cloudflare/optate.go
linters:
- deadcode
- staticcheck
- path: internal/build/pgp.go
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
- path: core/vm/contracts.go
text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.'
- path: accounts/usbwallet/trezor.go
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
- path: accounts/usbwallet/trezor/
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
exclude:
- 'SA1019: event.TypeMux is deprecated: use Feed'
- 'SA1019: strings.Title is deprecated'
- 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.'
- 'SA1029: should not use built-in type string as key for value'
20 changes: 10 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- stage: lint
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- lint
git:
Expand All @@ -31,7 +31,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- docker
services:
Expand All @@ -48,7 +48,7 @@ jobs:
os: linux
arch: arm64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- docker
services:
Expand All @@ -65,7 +65,7 @@ jobs:
if: type = push
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- ubuntu-ppa
- GO111MODULE=on
Expand All @@ -90,7 +90,7 @@ jobs:
os: linux
dist: bionic
sudo: required
go: 1.18.x
go: 1.19.x
env:
- azure-linux
- GO111MODULE=on
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
- stage: build
if: type = push
os: osx
go: 1.18.x
go: 1.19.x
env:
- azure-osx
- azure-ios
Expand Down Expand Up @@ -194,7 +194,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- GO111MODULE=on
script:
Expand All @@ -214,7 +214,7 @@ jobs:
- stage: build
os: linux
dist: bionic
go: 1.17.x
go: 1.18.x
env:
- GO111MODULE=on
script:
Expand All @@ -225,7 +225,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- azure-purge
- GO111MODULE=on
Expand All @@ -239,7 +239,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- GO111MODULE=on
script:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ COPY go.sum /go-ethereum/
RUN cd /go-ethereum && go mod download

ADD . /go-ethereum
RUN cd /go-ethereum && go run build/ci.go install ./cmd/geth
RUN cd /go-ethereum && go run build/ci.go install -static ./cmd/geth

# Pull Geth into a second stage deploy alpine container
FROM alpine:latest
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.alltools
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ COPY go.sum /go-ethereum/
RUN cd /go-ethereum && go mod download

ADD . /go-ethereum
RUN cd /go-ethereum && go run build/ci.go install
RUN cd /go-ethereum && go run build/ci.go install -static

# Pull all binaries into a second stage deploy alpine container
FROM alpine:latest
Expand Down
44 changes: 22 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Go Ethereum

Official Golang implementation of the Ethereum protocol.
Official Golang execution layer implementation of the Ethereum protocol.

[![API Reference](
https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667
Expand Down Expand Up @@ -39,10 +39,10 @@ directory.
| **`geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default), archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI page](https://geth.ethereum.org/docs/interface/command-line-options) for command line options. |
| `clef` | Stand-alone signing tool, which can be used as a backend signer for `geth`. |
| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. |
| `abigen` | Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/dapp/native-bindings) page for details. |
| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/dapp/native-bindings) page for details. |
| `bootnode` | Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. |
| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). |
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://eth.wiki/en/fundamentals/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
| `puppeth` | a CLI wizard that aids in creating a new Ethereum network. |

## Running `geth`
Expand All @@ -65,14 +65,14 @@ Recommended:

* Fast CPU with 4+ cores
* 16GB+ RAM
* High Performance SSD with at least 1TB free space
* High-performance SSD with at least 1TB of free space
* 25+ MBit/sec download Internet service

### Full node on the main Ethereum network

By far the most common scenario is people wanting to simply interact with the Ethereum
network: create accounts; transfer funds; deploy and interact with contracts. For this
particular use-case the user doesn't care about years-old historical data, so we can
particular use case, the user doesn't care about years-old historical data, so we can
sync quickly to the current state of the network. To do so:

```shell
Expand All @@ -83,11 +83,11 @@ This command will:
* Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag),
causing it to download more data in exchange for avoiding processing the entire history
of the Ethereum network, which is very CPU intensive.
* Start up `geth`'s built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interface/javascript-console),
* Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interface/javascript-console),
(via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md)
(note: the `web3` version bundled within `geth` is very old, and not up to date with official docs),
as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/rpc/server).
This tool is optional and if you leave it out you can always attach to an already running
This tool is optional and if you leave it out you can always attach it to an already running
`geth` instance with `geth attach`.

### A Full node on the Görli test network
Expand All @@ -102,12 +102,12 @@ the main network, but with play-Ether only.
$ geth --goerli console
```

The `console` subcommand has the exact same meaning as above and they are equally
useful on the testnet too. Please, see above for their explanations if you've skipped here.
The `console` subcommand has the same meaning as above and is equally
useful on the testnet too.

Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a bit:

* Instead of connecting the main Ethereum network, the client will connect to the Görli
* Instead of connecting to the main Ethereum network, the client will connect to the Görli
test network, which uses different P2P bootnodes, different network IDs and genesis
states.
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth`
Expand All @@ -118,9 +118,9 @@ Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a
`geth attach <datadir>/goerli/geth.ipc`. Windows users are not affected by
this.

*Note: Although there are some internal protective measures to prevent transactions from
crossing over between the main network and test network, you should make sure to always
use separate accounts for play-money and real-money. Unless you manually move
*Note: Although some internal protective measures prevent transactions from
crossing over between the main network and test network, you should always
use separate accounts for play and real money. Unless you manually move
accounts, `geth` will by default correctly separate the two networks and will not make any
accounts available between them.*

Expand Down Expand Up @@ -155,7 +155,7 @@ configuration file via:
$ geth --config /path/to/your_config.toml
```

To get an idea how the file should look like you can use the `dumpconfig` subcommand to
To get an idea of how the file should look like you can use the `dumpconfig` subcommand to
export your existing configuration:

```shell
Expand All @@ -175,7 +175,7 @@ docker run -d --name ethereum-node -v /Users/alice/ethereum:/root \
ethereum/client-go
```

This will start `geth` in snap-sync mode with a DB memory allowance of 1GB just as the
This will start `geth` in snap-sync mode with a DB memory allowance of 1GB, as the
above command does. It will also create a persistent volume in your home directory for
saving your blockchain as well as map the default ports. There is also an `alpine` tag
available for a slim version of the image.
Expand All @@ -188,7 +188,7 @@ accessible from the outside.

As a developer, sooner rather than later you'll want to start interacting with `geth` and the
Ethereum network via your own programs and not manually through the console. To aid
this, `geth` has built-in support for a JSON-RPC based APIs ([standard APIs](https://eth.wiki/json-rpc/API)
this, `geth` has built-in support for a JSON-RPC based APIs ([standard APIs](https://ethereum.github.io/execution-apis/api-documentation/)
and [`geth` specific APIs](https://geth.ethereum.org/docs/rpc/server)).
These can be exposed via HTTP, WebSockets and IPC (UNIX sockets on UNIX based
platforms, and named pipes on Windows).
Expand All @@ -209,9 +209,9 @@ HTTP based JSON-RPC API options:
* `--ws.addr` WS-RPC server listening interface (default: `localhost`)
* `--ws.port` WS-RPC server listening port (default: `8546`)
* `--ws.api` API's offered over the WS-RPC interface (default: `eth,net,web3`)
* `--ws.origins` Origins from which to accept websockets requests
* `--ws.origins` Origins from which to accept WebSocket requests
* `--ipcdisable` Disable the IPC-RPC server
* `--ipcapi` API's offered over the IPC-RPC interface (default: `admin,debug,eth,miner,net,personal,shh,txpool,web3`)
* `--ipcapi` API's offered over the IPC-RPC interface (default: `admin,debug,eth,miner,net,personal,txpool,web3`)
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)

You'll need to use your own programming environments' capabilities (libraries, tools, etc) to
Expand Down Expand Up @@ -297,7 +297,7 @@ $ bootnode --genkey=boot.key
$ bootnode --nodekey=boot.key
```

With the bootnode online, it will display an [`enode` URL](https://eth.wiki/en/fundamentals/enode-url-format)
With the bootnode online, it will display an [`enode` URL](https://ethereum.org/en/developers/docs/networking-layer/network-addresses/#enode)
that other nodes can use to connect to it and exchange peer information. Make sure to
replace the displayed IP address information (most probably `[::]`) with your externally
accessible IP to get the actual `enode` URL.
Expand Down Expand Up @@ -327,7 +327,7 @@ requiring an OpenCL or CUDA enabled `ethminer` instance. For information on such
setup, please consult the [EtherMining subreddit](https://www.reddit.com/r/EtherMining/)
and the [ethminer](https://github.com/ethereum-mining/ethminer) repository.

In a private network setting, however a single CPU miner instance is more than enough for
In a private network setting, however, a single CPU miner instance is more than enough for
practical purposes as it can produce a stable stream of blocks at the correct intervals
without needing heavy resources (consider running on a single thread, no need for multiple
ones either). To start a `geth` instance for mining, run it with all your usual flags, extended
Expand All @@ -344,7 +344,7 @@ transactions are accepted at (`--miner.gasprice`).

## Contribution

Thank you for considering to help out with the source code! We welcome contributions
Thank you for considering helping out with the source code! We welcome contributions
from anyone on the internet, and are grateful for even the smallest of fixes!

If you'd like to contribute to go-ethereum, please fork, fix, commit and send a pull request
Expand Down Expand Up @@ -374,6 +374,6 @@ The go-ethereum library (i.e. all code outside of the `cmd` directory) is licens
[GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html),
also included in our repository in the `COPYING.LESSER` file.

The go-ethereum binaries (i.e. all code inside of the `cmd` directory) is licensed under the
The go-ethereum binaries (i.e. all code inside of the `cmd` directory) are licensed under the
[GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), also
included in our repository in the `COPYING` file.
Loading