ucwong
560dceb58e
les, eth: fix typo in comment ( #27369 )
2023-05-30 14:55:03 +02:00
Delweng
13166210c8
eth: split api.go into namespace based files ( #27263 )
...
This change splits up the multiple API functions / namespaces currently defined in the eth package into different per-namespace files.
2023-05-29 05:09:34 -04:00
Delweng
8a78a4f79f
eth,consensus: replace noarg fmt.Errorf with errors.New ( #27330 )
...
* eth: replace noarg fmt.Errorf with errors.New
Signed-off-by: jsvisa <delweng@gmail.com>
* consensus: replace noarg fmt.Errorf with errors.New
Signed-off-by: jsvisa <delweng@gmail.com>
---------
Signed-off-by: jsvisa <delweng@gmail.com>
2023-05-25 02:57:34 -04:00
Péter Szilágyi
dde2da0efb
all: remove ethash pow, only retain shims needed for consensus and tests ( #27178 )
...
* all: remove ethash pow, only retain shims needed for consensus and tests
* all: thank you linter
* all: disallow launching Geth in legacy PoW mode
* cmd/env/internal/t8ntool: remove dangling ethash flag
2023-05-03 12:58:39 +03:00
Darioush Jalali
ee8e83fa5f
eth: fix output file permissions in admin_exportChain ( #26912 )
...
* api: Use 0700 file permissions for ExportChain
* change perm to 0644
* Update api.go
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-03-17 20:06:06 +02:00
Péter Szilágyi
cd31f2dee2
all: change chain head markers from block to header ( #26777 )
2023-03-02 08:29:15 +02:00
rjl493456442
01808421e2
core/state: return error when storage trie can't be opened ( #26350 )
...
This changes the StorageTrie method to return an error when the trie
is not available. It used to return an 'empty trie' in this case, but that's
not possible anymore under PBSS.
2022-12-21 10:21:21 +01:00
Felix Lange
f53ff0ff4a
eth/filters, eth/tracers: add request cancellation checks ( #26320 )
...
This ensures that RPC method handlers will react to a timeout or
cancelled request soon after the event occurs.
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2022-12-15 07:52:07 -05:00
Sina Mahmoodi
711afbc7fd
core,eth: add debug_setTrieFlushInterval
to change trie flush frequency ( #24785 )
...
This PR makes it possible to modify the flush interval time via RPC. On one extreme, `0s`, it would act as an archive node. If set to `1h`, means that after one hour of effective block processing time, the trie would be flushed. If one block takes 200ms, this means that a flush would occur every `5*3600=18000` blocks -- however, if the memory size of the cached states grows too large, it will flush sooner.
Essentially, this makes it possible to configure the node to be more or less "archive:ish", and without restarting the node while reconfiguring it.
2022-12-09 07:40:17 -05:00
rjl493456442
bff84a99fe
cmd, core, eth, les, light: track deleted nodes ( #25757 )
...
* cmd, core, eth, les, light: track deleted nodes
* trie: add docs
* trie: address comments
* cmd, core, eth, les, light, trie: trie id
* trie: add tests
* trie, core: updates
* trie: fix imports
* trie: add utility print-method for nodeset
* trie: import err
* trie: fix go vet warnings
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-09-27 10:01:02 +02:00
rjl493456442
b1f6dccfba
eth, les: rework chain tracer ( #25143 )
...
This PR simplifies the logic of chain tracer and also adds the unit tests.
The most important change has been made in this PR is the state management. Whenever a tracing state is acquired there is a corresponding release function be returned as well. It must be called once the state is used up, otherwise resource leaking can happen.
And also the logic of state management has been simplified a lot. Specifically, the state provider(eth backend, les backend) should ensure the state is available and referenced. State customers can use the state according to their own needs, or build other states based on the given state. But once the release function is called, there is no guarantee of the availability of the state.
Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2022-09-07 20:25:58 +02:00
aaronbuchwald
759d795c56
eth: formatted error nit ( #25499 )
2022-08-09 11:23:41 +03:00
Guillaume Ballet
f67e54c92f
core: use TryGetAccount to read what TryUpdateAccount has written ( #25458 )
...
* 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: Felix Lange <fjl@twurst.com>
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2022-08-04 16:13:18 +02:00
Rithwik Babu
fea569f90a
eth: fix typo in comment ( #25327 )
2022-07-29 18:29:01 +02:00
Marius van der Wijden
c6dcd018d2
core: eth: rpc: implement safe rpc block ( #25165 )
...
* core: eth: rpc: implement safe rpc block
* core: fix setHead, panics
2022-07-25 18:42:05 +03:00
Seungbae.yu
d2247d9f5d
eth, internal, light: fix error string capitalization ( #25364 )
2022-07-25 12:53:44 +03:00
Seungbae.yu
2697e44d81
all: change format 0x%x
to %#x
( #25221 )
2022-07-04 11:03:32 +03:00
lightclient
10dc5dce08
all: remove concept of public/private API definitions ( #25053 )
...
* internal/ethapi: rename PublicEthereumAPI to EthereumAPI
* eth: rename PublicEthereumAPI to EthereumAPI
* internal/ethapi: rename PublicTxPoolAPI to TxPoolAPI
* internal/ethapi: rename PublicAccountAPI to EthereumAccountAPI
* internal/ethapi: rename PrivateAccountAPI to PersonalAccountAPI
* internal/ethapi: rename PublicBlockChainAPI to BlockChainAPI
* internal/ethapi: rename PublicTransactionPoolAPI to TransactionAPI
* internal/ethapi: rename PublicDebugAPI to DebugAPI
* internal/ethapi: move PrivateDebugAPI methods to DebugAPI
* internal/ethapi: rename PublicNetAPI to NetAPI
* les: rename PrivateLightServerAPI to LightServerAPI
* les: rename PrivateLightAPI to LightAPI
* les: rename PrivateDebugAPI to DebugAPI
* les: rename PublicDownloaderAPI to DownloaderAPI
* eth,les: rename PublicFilterAPI to FilterAPI
* eth: rename PublicMinerAPI to MinerAPI
* eth: rename PublicDownloaderAPI to DownloaderAPI
* eth: move PrivateMinerAPI methods to MinerAPI
* eth: rename PrivateAdminAPI to AdminAPI
* eth: rename PublicDebugAPI to DebugAPI
* eth: move PrivateDebugAPI methods to DebugAPI
* node: rename publicAdminAPI to adminAPI
* node: move privateAdminAPI methods to adminAPI
* node: rename publicWeb3API to web3API
* eth,internal/ethapi: sync comments with previous renamings
2022-06-21 12:05:43 +03:00
lightclient
3273ad1a58
eth: add missing period at end of sentences ( #25058 )
...
eth: add missing periods on end of comments
2022-06-15 09:29:23 +02:00
lightclient
10da98072c
eth/api: use hexutil.Bytes
for account range method ( #25024 )
...
eth/api: use hexutil.Bytes for range at methods
2022-06-06 17:33:05 +02:00
rjl493456442
22defa5af7
all: introduce trie owner notion ( #24750 )
...
* cmd, core/state, light, trie, eth: add trie owner notion
* all: refactor
* tests: fix goimports
* core/state/snapshot: fix ineffasigns
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-06-06 17:14:55 +02:00
Marius van der Wijden
e6fa102eb0
core, eth, internal, rpc: implement final block ( #24282 )
...
* eth: core: implement finalized block
* eth/catalyst: fix final block
* eth/catalyst: update finalized head gauge
* internal/jsre/deps: updated web3.js to allow for finalized block
* eth/catalyst: make sure only one thread can call fcu
* eth/catalyst: nitpicks
* eth/catalyst: use plain mutex
* eth: nitpicks
2022-05-18 17:30:42 +03:00
Anatole
e0761432a4
eth: fix typo in comment ( #23941 )
2021-11-22 02:53:16 +01:00
Sina Mahmoodi
48496e0675
internal/ethapi: use correct signer when serving old blocks ( #23683 )
...
Fixes #23681
After the fix I get the address 0x6d6d02e83c4ced98204e20126acf27e9d87b8af2 for the
tx mentioned in the ticket, which agrees with etherscan.
2021-10-07 15:51:14 +02:00
Martin Holst Swende
307156cc46
eth/api: add rpc method to obtain which states are accessible ( #23646 )
...
This PR adds a method to the debug namespace, to iterate over the blocks and check where we have the roots on disk.
2021-10-05 08:13:00 +02:00
Martin Holst Swende
62ad17fb00
Revert "eth, internal/ethapi: make RPC block miner field show block sealer correctly ( #23312 )" ( #23466 )
...
This reverts commit 57feabea66
.
2021-08-26 08:35:37 +02:00
陈佳
57feabea66
eth, internal/ethapi: make RPC block miner field show block sealer correctly ( #23312 )
...
Makes the RPC block return the POA sealer for clique blocks on the 'miner' field (was previously zeroes)
2021-08-17 18:55:18 +02:00
Martin Holst Swende
d21a069619
eth, miner: add RPC method to modify miner gaslimit (pre london: ceiling) ( #23134 )
2021-07-06 10:35:39 +02:00
Martin Holst Swende
addd8824cf
cmd/geth, eth, core: snapshot dump + unify with trie dump ( #22795 )
...
* cmd/geth, eth, core: snapshot dump + unify with trie dump
* cmd/evm: dump API fixes
* cmd/geth, core, eth: fix some remaining errors
* cmd/evm: dump - add limit, support address startkey, address review concerns
* cmd, core/state, eth: minor polishes, fix snap dump crash, unify format
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-05-12 11:05:39 +03:00
Péter Szilágyi
06f44c0fd4
eth: restore eth_hashrate API endpoint
2021-04-29 12:02:30 +03:00
gary rong
a600dab7e5
eth, les: fix tracers ( #22473 )
...
* eth, les: fix tracer
* eth: isolate live trie database in tracer
* eth: fix nil
* eth: fix
* eth, les: add checkLive param
* eth/tracer: fix
2021-04-07 10:30:26 +03:00
piersy
706683ea72
internal/ethapi: fix eth_chainId method ( #22243 )
...
This removes the duplicated definition of eth_chainID
in package eth and updates the definition in internal/ethapi
to treat chain ID as a bigint.
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-04-06 12:24:39 +02:00
Péter Szilágyi
55300d4fdb
all: fix miner hashRate -> hashrate on API calls
2021-03-31 10:56:51 +03:00
gary rong
adf130def8
eth/tracers: move tracing APIs into eth/tracers ( #22161 )
...
This moves the tracing RPC API implementation to package eth/tracers.
By doing so, package eth no longer depends on tracing and the duktape JS engine.
The change also enables tracing using the light client. All tracing methods work with the
light client, but it's a lot slower compared to using a full node.
2021-01-25 14:36:39 +01:00
rene
984e752ce5
eth: return error from eth_chainID during sync before EIP-155 activates ( #21686 )
...
This changes the chainID RPC method to return an error when EIP-155 is not yet
active at the current block height. It used to simply return zero in this case, but
that's confusing.
2021-01-12 10:52:13 +01:00
gary rong
5a1b384352
core: persist bad blocks ( #21827 )
...
* core: persist bad blocks
* core, eth, internal: address comments
* core/rawdb: add badblocks to inspector
* core, eth: update
* internal: revert
* core, eth: only save 10 bad blocks
* core/rawdb: address comments
* core/rawdb: fix
* core: address comments
2021-01-10 12:54:15 +01:00
aaronbuchwald
3e82c9ef67
eth/api: fix potential nil deref in AccountRange ( #21710 )
...
* Fix potential nil pointer error when neither block number nor hash is specified to accountRange
* Update error description
2020-10-20 20:19:21 +02:00
Marius van der Wijden
de971cc845
eth: added trace_call to trace on top of arbitrary blocks ( #21338 )
...
* eth: Added TraceTransactionPending
* eth: Implement Trace_Call, remove traceTxPending
* eth: debug_call -> debug_traceCall, recompute tx environment if pruned
* eth: fix nil panic
* eth: improve block retrieving logic in tracers
* internal/web3ext: add debug_traceCall to console
2020-09-07 10:52:01 +02:00
Marius van der Wijden
16d7eae1c8
eth: updated comments ( #21490 )
2020-08-26 13:20:12 +03:00
Wenbiao Zheng
03fe9de2cb
eth: add debug_accountRange API ( #19645 )
...
This new API allows reading accounts and their content by address range.
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
2020-03-31 12:08:44 +02:00
Ryan Schneider
c4b7fdd27e
eth, internal/web3ext: add optional first and last arguments to the admin_exportChain
RPC. ( #20107 )
2019-12-17 12:10:14 +01:00
Martin Holst Swende
292cf7c649
eth: disallow overwrite files via admin.exportChain
2019-08-30 10:39:29 +02:00
jwasinger
6bd896a97f
eth: add debug_accountRange ( #17438 )
...
This adds the debug_accountRange method which returns all accounts in
the state for a given block and transaction index.
2019-07-13 15:48:55 +02:00
Martin Holst Swende
1da5e0ebb0
core/state, cmd/geth: streaming json output for dump command ( #15475 )
...
* core/state, cmd/geth: streaming json output dump cmd + optional code+storage
* dump: add option to continue even if preimages are missing
* core, evm: lint nits
* cmd: use local flags for dump, omit empty code/storage
* core/state: fix state dump test
2019-06-24 17:16:44 +03:00
Péter Szilágyi
ac3e7c9b3d
eth: remove redundant chain config fields
2019-03-27 13:23:08 +02:00
Péter Szilágyi
91eec1251c
cmd, core, eth, trie: get rid of trie cache generations ( #19262 )
...
* cmd, core, eth, trie: get rid of trie cache generations
* core, trie: get rid of remainder of cache gen boilerplate
2019-03-14 15:25:12 +02:00
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
2018-11-15 12:22:13 +02:00
HackyMiner
107f556b2d
internal/ethapi: add eth_chainId method ( #17617 )
...
This implements EIP-695.
2018-09-29 22:07:02 +02:00
Péter Szilágyi
92381ee009
cmd, eth: clean up miner startup API, drop noop config field
2018-08-23 14:09:45 +03:00
gary rong
b2c644ffb5
cmd, eth, miner: make recommit configurable ( #17444 )
...
* cmd, eth, miner: make recommit configurable
* cmd, eth, les, miner: polish a bit
* miner: filter duplicate sealing work
* cmd: remove uncessary conversion
* miner: avoid microptimization in favor of cleaner code
2018-08-21 22:56:54 +03:00