Commit graph

586 commits

Author SHA1 Message Date
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
6f36533962
all: remove ethash pow 27178 (#1378) 2025-08-26 11:54:01 +08:00
Daniel Liu
516883d14c
all: snapshot dump + unify with trie dump #22795 (#1205) 2025-08-22 16:39:28 +08:00
Daniel Liu
4ec6e8cd58
cmd, node, p2p: implement whitelist and blacklist for peers (#1331) 2025-08-20 15:14:56 +08:00
Daniel Liu
36374be05f
eth/tracers: move tracing APIs into eth/tracers #22161 #22473 (#1252) 2025-08-08 10:25:43 +08:00
Daniel Liu
34a245fbc8
all: use common.FileExist for checking file existence #24748 (#1212) 2025-07-11 10:42:51 +08:00
Daniel Liu
618a8dd247
core, cmd: streaming json output for command #15475 (#1184) 2025-07-11 09:29:13 +08:00
JukLee0ira
b413f71763
all: remove personal RPC namespace #30704 (#1180) 2025-07-02 09:11:58 +08:00
JukLee0ira
16f41238b8
cmd, console, node : deprecate personal namespace #26390 (#1153) 2025-06-25 17:57:33 +08:00
Daniel Liu
10c7e1d775
ccid, cmd: disable personal module by default (#1148) 2025-06-25 16:58:46 +08:00
Daniel Liu
93c2745b7b
all: disable recording preimage of trie keys #21402 (#1054) 2025-06-17 13:10:47 +08:00
Daniel Liu
ae70b5dc14
cmd: disable prefetch next block state by default, fix #997 (#1025) 2025-06-06 17:23:12 +08:00
JukLee0ira
c145287e87
node: allow JWT pass by file only #24579 (#1035) 2025-05-16 12:01:36 +08:00
JukLee0ira
fe422720f3
cmd, node: implement --authrpc-vhosts flag #24506 (#1028) 2025-05-08 11:13:44 +08:00
Daniel Liu
c75623ace7
rpc: add limit for batch request and response size #26681 (#998) 2025-04-28 17:00:30 +08:00
Daniel Liu
1d3e5cb455 core: prefetch next block state concurrently #19328 2025-04-28 16:57:56 +08:00
JukLee0ira
80547a50d9
cmd/geth: make authrpc listening address settable from cli #24522 (#994) 2025-04-27 19:55:03 +08:00
JukLee0ira
230a2f09ba
cmd/geth, node, rpc: implement jwt tokens #24364 (#993)
* cmd/geth, node, rpc: implement jwt tokens #24364

* fix
2025-04-27 18:17:09 +08:00
JukLee0ira
b4308ba733
internal/ethapi: disable sending of non eip155 replay protected tx #22339 (#971)
* internal/ethapi: disable sending of non eip155 replay protected tx #22339

* eth: optimize the initialization logic of EthAPIBackend

* fix
2025-04-25 11:55:52 +08:00
Daniel Liu
2ce0a220a2
cmd, node, rpc: add ReadHeaderTimeout config option #25338 (#972) 2025-04-24 19:01:11 +08:00
Daniel Liu
fb300a43fb
cmd/XDC, cmd/utils: set network flag early (#938)
* cmd/XDC: remove unused function applyValues

* cmd/XDC, cmd/utils: remove function SetupNetwork

* cmd/XDC, cmd/utils: set network flag early
2025-04-24 18:09:59 +08:00
JukLee0ira
10dd75e82f
node: serve JSON-RPC on custom path prefix #22184 (#952) 2025-04-24 11:34:26 +08:00
Daniel Liu
b9a6c8c32d
cmd, core, eth, trie: add trie read caching layer (#18087) (#946) 2025-04-16 17:27:43 +08:00
JukLee0ira
b1e08e6642
all: refactor package node #21105 (#923) 2025-04-10 18:52:49 +08:00
Daniel Liu
a4c7d7f458 all: clean duplicate constants in package common 2025-04-07 16:43:01 +08:00
Daniel Liu
5fff93dd01 cmd: group network and database flags together 2025-03-20 10:37:01 +08:00
Daniel Liu
ccf8ff2e64 cmd/utils, eth/ethconfig: remove flag docroot 2025-03-19 15:32:57 +08:00
Daniel Liu
2f349da4bf cmd: remove deprecated lightchaindata db (#30527) 2025-03-10 15:40:08 +08:00
Daniel Liu
66e73ad32e cmd, les: remove light client code (#28586) 2025-03-10 15:40:07 +08:00
Daniel Liu
8b7eebf0cb cmd/utils: handle err which returned from eth.New to fix panic 2025-03-01 16:07:01 +08:00
Daniel Liu
588dcd35ce cmd, common, core, eth: optimize rollback by flag 2025-03-01 11:34:32 +08:00
Daniel Liu
77f577a388 cmd/utils: not set Etherbase when flag --unlock is set 2025-02-21 15:59:09 +08:00
Daniel Liu
92bc30bc37 cmd: remove deprecated flags --fast and --light 2025-02-21 15:35:09 +08:00
Daniel Liu
7017077508 cmd/XDC, core/rawdb: add db command inspect 2025-02-21 15:32:35 +08:00
Daniel Liu
98cff5d6c2 all: remove network rinkeby 2025-02-19 15:52:29 +08:00
Daniel Liu
54b4be1aa2 cmd, core: add flag mainet and devnet 2025-02-19 14:24:20 +08:00
Daniel Liu
1d653e57ab cmd, core: merge flags testnet and apothem 2025-02-19 14:24:20 +08:00
Daniel Liu
0284a8dab0 cmd/utils: disable kzg4844 2025-02-19 14:19:35 +08:00
Daniel Liu
2a2711ad64 cmd, common, eth: copy constants after get chain id 2025-02-18 15:16:55 +08:00
Daniel Liu
2fb9e99ba3 cmd: use slices.Concat instead of GroupFlags 2025-02-17 15:06:52 +08:00
Daniel Liu
9b77577dc5 params: update bootnodes 2025-02-17 09:53:38 +08:00
Daniel Liu
bea5c95a7c cmd/utils: change default value of some flags to simplify sync 2025-02-17 09:36:14 +08:00
Daniel Liu
7ea30d6b29 cmd/utils: deprecate flag --XDCx-datadir 2025-02-17 09:30:30 +08:00
Daniel Liu
b50c4a29f6 cmd: deprecate flag --mine 2025-02-17 09:19:13 +08:00
Daniel Liu
cfc8cca674 common: refactor constants 2025-02-17 09:13:40 +08:00
Daniel Liu
5b10b2441c all: use T.TempDir to create temporary test directories (#24633) 2025-01-24 16:54:08 +08:00
Daniel Liu
e33909649b cmd/utils: don't enumerate usb when --usb isn't set (#22130) 2025-01-24 16:18:30 +08:00
Daniel Liu
100ea1c8e0 accounts/scwallet: add a switch to specify path to sc daemon (#19439) 2025-01-24 16:18:29 +08:00
Daniel Liu
97c50f97bb all: add read-only option to database 2025-01-24 14:24:39 +08:00
JukLee0ira
653b59710e core/rawdb: separate raw database access to own package (#16666 #19345) 2025-01-22 15:19:39 +08:00