Daniel Liu
d2706538e2
XDPoS/engines, core: fix non idiomatic "comma ok" boolean name, close XFN-126 ( #1690 )
2025-11-03 12:45:39 +05:30
Daniel Liu
9d85990309
all: fix missing nil check, close XFN-114 ( #1695 )
2025-11-01 23:21:44 +05:30
Daniel Liu
c74515fcca
core: persist bad blocks #21827 ( #1603 )
2025-10-08 13:10:22 +08:00
Daniel Liu
f46920b407
core, eth, internal: improve getBadBlocks to return full block rlp #16902 ( #1595 )
2025-09-26 19:02:13 +08:00
wit liu
d20f91057a
all: fix whitespace ( #1572 )
2025-09-24 07:58:40 +08:00
wit liu
e9da4ca95b
all: fix ineffassign ( #1516 )
...
Co-authored-by: wit <wit765765346@gmail>
2025-09-17 08:49:28 +08:00
Daniel Liu
fd040ec0d7
core/tracing: add OnClose Trace Hook #29629 ( #1474 )
2025-09-13 10:38:34 +08:00
wit765
12eab8e785
all: rename ChainId to ChainID #16853 ( #1456 )
...
Co-authored-by: wit <wit765765346@gmail>
2025-09-09 22:54:34 +08:00
Daniel Liu
4e234f231a
core, trie: flush preimages to db on database close #25533 ( #1107 )
2025-09-09 17:32:22 +08:00
Daniel Liu
ad9003c41e
eth/tracers: live chain tracing with hooks #29189 ( #1352 )
...
Here we add a Go API for running tracing plugins within the main block import process.
As an advanced user of geth, you can now create a Go file in eth/tracers/live/, and within
that file register your custom tracer implementation. Then recompile geth and select your tracer
on the command line. Hooks defined in the tracer will run whenever a block is processed.
The hook system is defined in package core/tracing. It uses a struct with callbacks, instead of
requiring an interface, for several reasons:
- We plan to keep this API stable long-term. The core/tracing hook API does not depend on
on deep geth internals.
- There are a lot of hooks, and tracers will only need some of them. Using a struct allows you
to implement only the hooks you want to actually use.
All existing tracers in eth/tracers/native have been rewritten to use the new hook system.
This change breaks compatibility with the vm.EVMLogger interface that we used to have.
If you are a user of vm.EVMLogger, please migrate to core/tracing, and sorry for breaking
your stuff. But we just couldn't have both the old and new tracing APIs coexist in the EVM.
---------
Co-authored-by: Sina M <1591639+s1na@users.noreply.github.com>
Co-authored-by: Matthieu Vachon <matthieu.o.vachon@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
Co-authored-by: Martin HS <martin@swende.se>
2025-09-09 17:30:56 +08:00
Daniel Liu
aca2149f12
core, eth, trie: use TryGetAccount to read what TryUpdateAccount has written #25458 ( #1106 )
...
* core: use TryGetAccount to read where TryUpdateAccount has been used to write
* Gary's review feedback
* implement Gary's suggestion
* fix bug + rename NewSecure into NewStateTrie
* trie: add backwards-compatibility aliases for SecureTrie
* Update database.go
* make the linter happy
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-09-03 15:34:11 +08:00
Daniel Liu
144fbbf35a
core: reset txpool on sethead #26392 ( #1373 )
2025-08-22 16:45:41 +08:00
Daniel Liu
d52bfaa5ca
all: introduce trie owner notion #24750 ( #1090 )
...
* cmd, core/state, light, trie, eth: add trie owner notion
* all: refactor
* tests: fix goimports
* core/state/snapshot: fix ineffasigns
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-08-22 16:37:39 +08:00
Daniel Liu
34020969ff
all: simplify timestamps to uint64 #19372 ( #1318 )
2025-08-08 10:33:37 +08:00
Daniel Liu
85f08c7732
eth: skip VerifyHeader in traceBlock to fix #1185 ( #1265 )
2025-07-26 18:18:50 +08:00
Daniel Liu
c46302cf65
all: fix invalid signer list on checkpoint block for trace api #1185 ( #1186 )
2025-07-12 06:56:30 +08:00
Daniel Liu
6f84f67a15
core: rename CommitTrie to commitTrie #25896 ( #1214 )
2025-07-11 10:48:10 +08:00
Daniel Liu
93c2745b7b
all: disable recording preimage of trie keys #21402 ( #1054 )
2025-06-17 13:10:47 +08:00
Daniel Liu
57c40154be
core: use atomic type #27011
2025-04-28 16:57:56 +08:00
Daniel Liu
9a06e129b8
core: simplify atomic store after writeBlockWithState #20798
2025-04-28 16:57:56 +08:00
Daniel Liu
1d3e5cb455
core: prefetch next block state concurrently #19328
2025-04-28 16:57:56 +08:00
Daniel Liu
c02ab17b17
core: use headers only where blocks are unnecessary #19261 ( #984 )
2025-04-28 06:46:40 +08:00
Daniel Liu
08dbbe705d
core: fix error in block iterator #18986
2025-04-25 08:03:58 +08:00
Daniel Liu
ff435e081f
core: rework blockchain import #17973
2025-04-25 08:03:58 +08:00
Daniel Liu
ab0ce75ede
core: simplify code of trading and lending state ( #949 )
2025-04-24 18:00:21 +08:00
Daniel Liu
733a1be4dc
common, core: add block age into info logs #17718 ( #947 )
2025-04-24 17:56:54 +08:00
Daniel Liu
b9a6c8c32d
cmd, core, eth, trie: add trie read caching layer ( #18087 ) ( #946 )
2025-04-16 17:27:43 +08:00
Daniel Liu
a9b9f53701
core, eth, trie: add a prefix to contract code (21080)
2025-03-24 22:31:03 +08:00
Daniel Liu
3856e16d8c
core: initialize current block/fastblock atomics to nil (19352)
2025-03-19 17:46:12 +08:00
Daniel Liu
588dcd35ce
cmd, common, core, eth: optimize rollback by flag
2025-03-01 11:34:32 +08:00
Daniel Liu
3adec81483
downloader: different sync strategy ( #18085 )
2025-02-26 15:06:08 +08:00
JukLee0ira
620eaa7443
core: remove the duplicate func getProcInterrupt
2025-02-26 14:27:21 +08:00
Daniel Liu
3fc7eeff8a
params: print chain configuration in more detail
2025-02-17 10:05:50 +08:00
Daniel Liu
e7d8e14298
core: improve the format of report block
2025-02-05 12:59:20 +08:00
Daniel Liu
85fc56733f
core: lookup txs by block number instead of block hash ( #19431 )
2025-01-24 15:52:43 +08:00
Daniel Liu
2b8b7e68f7
all: avoid storing computable receipt metadata ( #19345 )
2025-01-24 15:52:43 +08:00
Daniel Liu
92f0d07e6d
core: remove unnecessary fields in log ( #17106 #19182 )
2025-01-24 15:52:43 +08:00
JukLee0ira
197291443f
core, light: handle the nil return value of GetBlockNumber, fix #517
2025-01-23 13:57:07 +08:00
Daniel Liu
cbdf0e69f9
core: refactor function reorg ( #23761 , #24616 , #24996 , #30600 )
2025-01-22 15:23:37 +08:00
JukLee0ira
653b59710e
core/rawdb: separate raw database access to own package ( #16666 #19345 )
2025-01-22 15:19:39 +08:00
Daniel Liu
c8c39efb63
core: remove unnecessary log copy ( #27475 )
2024-12-28 10:45:00 +08:00
Daniel Liu
d03859d49e
core: update the fast block on chain import at the end of the fast sync phase ( #23576 )
2024-12-28 10:44:54 +08:00
Daniel Liu
2baadc6e87
core: improve shutdown synchronization in BlockChain ( #22853 )
2024-12-28 10:44:49 +08:00
Daniel Liu
2d5dc550d0
core/rawdb: rename WriteTxLookupEntries to WriteTxLookupEntriesByBlock ( #21480 )
2024-12-28 10:44:42 +08:00
Daniel Liu
d7e0e9d734
core: write chain data in atomic way ( #20287 )
2024-12-28 10:44:36 +08:00
Daniel Liu
1c555b2def
core, light: get rid of the dual mutexes ( #18436 )
2024-12-28 10:44:30 +08:00
Péter Szilágyi
39e9d8f94d
common/prque: generic priority queue ( #26290 )
2024-12-28 09:06:31 +08:00
Daniel Liu
f19422e1c7
cmd/utils: relinquish GC cache to read cache in archive mode ( #18991 )
2024-12-28 09:06:30 +08:00
Daniel Liu
89c51c5e69
common: improve documentation comments ( #16701 )
2024-12-28 09:06:30 +08:00
Daniel Liu
240757a1ce
all: remove empty function SaveData()
2024-12-28 09:04:02 +08:00