- 10 Mar, 2022 2 commits
-
-
rjl493456442 authored
* core/rawdb, cmd, ethdb, eth: implement freezer tail deletion * core/rawdb: address comments from martin and sina * core/rawdb: fixes cornercase in tail deletion * core/rawdb: separate metadata into a standalone file * core/rawdb: remove unused code * core/rawdb: add random test * core/rawdb: polish code * core/rawdb: fsync meta file before manipulating the index * core/rawdb: fix typo * core/rawdb: address comments
-
rjl493456442 authored
-
- 09 Mar, 2022 3 commits
-
-
Felix Lange authored
The default listening address "localhost" is not sufficient when running geth in Docker.
-
Qian Bin authored
This change speeds up trie hashing and all other activities that require RLP encoding of trie nodes by approximately 20%. The speedup is achieved by avoiding reflection overhead during node encoding. The interface type trie.node now contains a method 'encode' that works with rlp.EncoderBuffer. Management of EncoderBuffers is left to calling code. trie.hasher, which is pooled to avoid allocations, now maintains an EncoderBuffer. This means memory resources related to trie node encoding are tied to the hasher pool. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Justus authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- 08 Mar, 2022 4 commits
-
-
Zachinquarantine authored
-
Ceyhun Onur authored
-
uji authored
When using -buildmode=shared, R15 is clobbered by a global variable access; use a different register instead. Fixes: #24439
-
Ikko Ashimine authored
-
- 07 Mar, 2022 3 commits
-
-
Felix Lange authored
All other implementations store disconnect reasons as a single byte, so go-ethereum should do it too.
-
Olivier H authored
* eth, cmd: allow FdLimit to be set in config/command line (#24148) * eth/ethconfig: format code * cmd, eth/ethconfig: simplify fdlimit arg, disallow toml * cnd/utils: make fdlimit setting nicer on the logs Co-authored-by:
Gary Rong <garyrong0905@gmail.com> Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
Martin Holst Swende authored
* rpc, node: refactor request validation and add jwt validation * node, rpc: fix error message, ignore engine api in RegisterAPIs * node: make authenticated port configurable * eth/catalyst: enable unauthenticated version of engine api * node: rework obtainjwtsecret (backport later) * cmd/geth: added auth port flag * node: happy lint, happy life * node: refactor authenticated api Modifies the authentication mechanism to use default values * node: trim spaces and newline away from secret Co-authored-by:
Marius van der Wijden <m.vanderwijden@live.de>
-
- 04 Mar, 2022 1 commit
-
-
Daniel Perez authored
This replaces the simple selector parser in signer/fourbyte with one that can actually handle most types. The new parser is added in accounts/abi to also make it useable elsewhere.
-
- 02 Mar, 2022 2 commits
-
-
uji authored
internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob. (#24473) * go.mod: update azure-storage-blob-go update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0. relation #24396. * internal/build: fix for breaking changes of azure-storage-blob-go fix for breaking changes of update Azure/azure-storage-blob-go from v0.7.0 to v0.14.0. relation #24396. * internal/build: switch azure sdk from Azure/azure-storage-blob-go to Azure/azure-sdk-for-go/sdk/storage/azblob. * internal/build refactor appending BlobItems * internal/build: fix azure blobstore client to include container id Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
s7v7nislands authored
Co-authored-by:
seven <seven@nodereal.io>
-
- 01 Mar, 2022 4 commits
-
-
Yash Atwal authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Zachinquarantine authored
-
Felföldi Zsolt authored
-
Guruprasad Kamath authored
-
- 24 Feb, 2022 1 commit
-
-
ucwong authored
rlpgen outputs calls to this method for values of type string.
-
- 23 Feb, 2022 1 commit
-
-
Martin Holst Swende authored
-
- 22 Feb, 2022 1 commit
-
-
Sina Mahmoodi authored
-
- 18 Feb, 2022 1 commit
-
-
Felix Lange authored
This change makes use of the new code generator rlp/rlpgen to improve the performance of RLP encoding for Header and StateAccount. It also speeds up encoding of ReceiptForStorage using the new rlp.EncoderBuffer API. The change is much less transparent than I wanted it to be, because Header and StateAccount now have an EncodeRLP method defined with pointer receiver. It used to be possible to encode non-pointer values of these types, but the new method prevents that and attempting to encode unadressable values (even if part of another value) will return an error. The error can be surprising and may pop up in places that previously didn't expect any errors. To make things work, I also needed to update all code paths (mostly in unit tests) that lead to encoding of non-pointer values, and pass a pointer instead. Benchmark results: name old time/op new time/op delta EncodeRLP/legacy-header-8 328ns ± 0% 237ns ± 1% -27.63% (p=0.000 n=8+8) EncodeRLP/london-header-8 353ns ± 0% 247ns ± 1% -30.06% (p=0.000 n=8+8) EncodeRLP/receipt-for-storage-8 237ns ± 0% 123ns ± 0% -47.86% (p=0.000 n=8+7) EncodeRLP/receipt-full-8 297ns ± 0% 301ns ± 1% +1.39% (p=0.000 n=8+8) name old speed new speed delta EncodeRLP/legacy-header-8 1.66GB/s ± 0% 2.29GB/s ± 1% +38.19% (p=0.000 n=8+8) EncodeRLP/london-header-8 1.55GB/s ± 0% 2.22GB/s ± 1% +42.99% (p=0.000 n=8+8) EncodeRLP/receipt-for-storage-8 38.0MB/s ± 0% 64.8MB/s ± 0% +70.48% (p=0.000 n=8+7) EncodeRLP/receipt-full-8 910MB/s ± 0% 897MB/s ± 1% -1.37% (p=0.000 n=8+8) name old alloc/op new alloc/op delta EncodeRLP/legacy-header-8 0.00B 0.00B ~ (all equal) EncodeRLP/london-header-8 0.00B 0.00B ~ (all equal) EncodeRLP/receipt-for-storage-8 64.0B ± 0% 0.0B -100.00% (p=0.000 n=8+8) EncodeRLP/receipt-full-8 320B ± 0% 320B ± 0% ~ (all equal)
-
- 17 Feb, 2022 1 commit
-
-
Felix Lange authored
Also specify EOL dates of all listed releases.
-
- 16 Feb, 2022 2 commits
-
-
Felix Lange authored
This change adds a code generator tool for creating EncodeRLP method implementations. The generated methods will behave identically to the reflect-based encoder, but run faster because there is no reflection overhead. Package rlp now provides the EncoderBuffer type for incremental encoding. This is used by generated code, but the new methods can also be useful for hand-written encoders. There is also experimental support for generating DecodeRLP, and some new methods have been added to the existing Stream type to support this. Creating decoders with rlpgen is not recommended at this time because the generated methods create very poor error reporting. More detail about package rlp changes: * rlp: externalize struct field processing / validation This adds a new package, rlp/internal/rlpstruct, in preparation for the RLP encoder generator. I think the struct field rules are subtle enough to warrant extracting this into their own package, even though it means that a bunch of adapter code is needed for converting to/from rlpstruct.Type. * rlp: add more decoder methods (for rlpgen) This adds new methods on rlp.Stream: - Uint64, Uint32, Uint16, Uint8, BigInt - ReadBytes for decoding into []byte - MoreDataInList - useful for optional list elements * rlp: expose encoder buffer (for rlpgen) This exposes the internal encoder buffer type for use in EncodeRLP implementations. The new EncoderBuffer type is a sort-of 'opaque handle' for a pointer to encBuffer. It is implemented this way to ensure the global encBuffer pool is handled correctly.
-
Martin Holst Swende authored
This Ubuntu release has reached EOL and Launchpad does not accept uploads for it anymore.
-
- 15 Feb, 2022 7 commits
-
-
Péter Szilágyi authored
trie: implement NodeBlob API for trie iterator
-
rjl493456442 authored
This PR adds an addtional API called `NewBatchWithSize` for db batcher. It turns out that leveldb batch memory allocation is super inefficient. The main reason is the allocation step of leveldb Batch is too small when the batch size is large. It can take a few second to build a leveldb batch with 100MB size. Luckily, leveldb also offers another API called MakeBatch which can pre-allocate the memory area. So if the approximate size of batch is known in advance, this API can be used in this case. It's needed in new state scheme PR which needs to commit a batch of trie nodes in a single batch. Implement the feature in a seperate PR.
-
Martin Holst Swende authored
-
Martin Holst Swende authored
-
zhiqiangxu authored
* add CallContractAtHash to ethclient * add docstring and test * optimize test * ethclient: nits Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
b1ackd0t authored
* Fixes #24368 Signed-off-by:
0x6f736f646f <blackd0t@protonmail.com> * Update internal/ethapi/api.go Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Gary Rong authored
This functionality is needed in new path-based storage scheme, but can be implemented in a seperate PR though. When an account is deleted, then all the storage slots should be nuked out from the disk as well. In hash-based storage scheme they are still left in the disk but in new scheme, they will be iterated and marked as deleted. But why the NodeBlob API is needed in this scenario? Because when the node is marked deleted, the previous value is also required to be recorded to construct the reverse diff.
-
- 14 Feb, 2022 2 commits
-
-
zhiqiangxu authored
dialPubkey isn't used anywhere else after dialDest.Load, so it should be safe to restrict its scope to the if clause.
-
Martin Holst Swende authored
-
- 08 Feb, 2022 2 commits
-
-
Felix Lange authored
This upgrade resolves a build issue on Android 7+ and removes a build warning on macOS >= 12.0.
-
Martin Holst Swende authored
Co-authored-by:
specerxi <xhxpecer@gmail.com>
-
- 07 Feb, 2022 1 commit
-
-
rjl493456442 authored
-
- 04 Feb, 2022 1 commit
-
-
Martin Holst Swende authored
This also contains some changes to the protocol handler to make the tests pass.
-
- 02 Feb, 2022 1 commit
-
-
aaronbuchwald authored
-