Commit Graph

4151 Commits

Author SHA1 Message Date
Pedro Miranda d5f7a6eb54 synch achieved:
There are currently 2 issues:

- fetch genesis state on empty data folder:
error msg "The downloaded genesis state cannot be verified (checksum mismatch)\"

The error arises from here:
   fetchGenesisState->network_metadata_downloads.fetchGenesisBytes.L58
something to do with the readssz or withState, investigations point to the data downloaded or some config missing
WA: comment lines 58-62, compile and run until the fetch genesis state is completed, then you can uncomment, it works from here

- spam of error messages: \"metrics error:New label values must be added from same thread as the metric was created from\":
This happens due to the fact that libp2p declares some gauges, and given that they are created inside a thread, metrics library
starts to complain. (no WA/correction so far)"
2024-10-30 11:38:21 +00:00
Pedro Miranda 00e705669f Improved synchronization mechanism 2024-10-29 22:46:25 +00:00
Pedro Miranda a0336df19d changes:
Makefile: Disabled libbacktrace: for some reason was given a strange error DW_FORM_addrx. Requires further investigation, given that it can be a macos issue, or related to the fact tathatth nimbus-eth2 is a submodule.
moved getPid to thread worker it self. might required further investigation regarding thread pattern.
small typos
2024-10-28 23:59:06 +00:00
Pedro Miranda 7fad6d4f8d inital exec run script 2024-10-23 12:35:12 +01:00
Pedro Miranda e5e2a88e9a small repairs and additions 2024-10-23 12:10:35 +01:00
Pedro Miranda a526d01ab8 fixed gcsafe error on createPidFile 2024-10-21 15:45:45 +01:00
Pedro Miranda 1b89a835eb refactored types 2024-10-21 11:32:29 +01:00
Pedro Miranda 5f3ee680ca added secp256k1 support 2024-10-21 11:30:43 +01:00
Pedro Miranda fcb962d448 copy&paste beacon node from eth2 2024-10-21 11:24:23 +01:00
Pedro Miranda caec70c17f added monitoring skeleton 2024-10-19 02:44:53 +01:00
Pedro Miranda 53f4bbcac7 added wrappers for execution an consensus layers 2024-10-19 02:31:37 +01:00
Pedro Miranda 05f24b3947 moved configs to dedicated directory 2024-10-19 02:24:46 +01:00
Pedro Miranda 70ad6c71cf added chronicles support 2024-10-19 02:01:16 +01:00
Pedro Miranda afdcc07e33 types and initial Monitor-Worker threading pattern 2024-10-19 01:54:59 +01:00
Pedro Miranda fa43a03d0c setting control-c handler 2024-10-18 19:14:35 +01:00
Pedro Miranda e6c2317322 initial commit: simple project structure with makefile, readme and build configs 2024-10-18 19:12:49 +01:00
andri lim 133387e6a7
Rework EIP-6110, EIP-7002, and EIP-7251: Pectra execution requests (#2734)
* Rework EIP-6110, EIP-7002, and EIP-7251

* Bump nimbus-eth2
2024-10-18 16:38:18 +07:00
andri lim 0d4a5e87d2
engine_newPayloadV4 accepts ExecutionPayloadV3 (#2749) 2024-10-18 16:35:56 +07:00
Jordan Hrycaj 0b93236d1b
Beacon sync block import via forked chain (#2747)
* Accept finalised hash from RPC with the canon header as well

* Reorg internal sync descriptor(s)

details:
  Update target from RPC to provide the `consensus header` as well as
  the `finalised` block number

why:
  Prepare for using `importBlock()` instead of `persistBlocks()`

* Cosmetic updates

details:
+ Collect all pretty printers in `helpers.nim`
+ Remove unused return codes from function prototype

* Use `importBlock()` + `forkChoice()` rather than `persistBlocks()`

* Update logging and metrics

* Update docu
2024-10-17 17:59:50 +00:00
Jordan Hrycaj 7d41a992e6
Update fork choice import for resuming after stop (#2746)
* Update `ForkedChainRef` constructor

why:
  Initialisation is based on the canonical head which is always zero
  after resuming a stopped `ForkedChainRef` based import.

* Update new-base calculator

why:
  There is some ambiguous code which might not do what the comment
  implies. In short, an unsigned condition like `2u - 3u < 1u => false`
  is coded where the comment suggests that `2 - 3 < 1 => true` is meant.

  This patch fixes notorious crashes when resuming import after a stop.
2024-10-17 12:14:09 +00:00
bhartnett 47337593c9
Fluffy: Enable content cache for history network (#2745)
* Cache content after lookups in history network.

* Cleanup config in PortalProtocol.

* Use local content lookup in history network to enable using cache.
2024-10-17 16:25:53 +08:00
bhartnett 54528fb24b
Fluffy: Enable content cache for state network (#2739)
* Enable content cache for state network.

* Update state json-rpc endpoints to return local content which uses cache if enabled.

* Add content cache metrics.

* Make content cache configurable.

* Add content cache tests.
2024-10-16 21:05:39 +08:00
Kim De Mey 4191f95527
Add Docker quickstart page for Fluffy + minor docs fixes (#2744) 2024-10-16 14:56:52 +02:00
Kim De Mey b885f822d0
More clean-up since eth types refactor (#2742) 2024-10-16 14:18:02 +02:00
Kim De Mey f797d55c35
Fix, improve and update some of the fluffy docs (#2743) 2024-10-16 13:48:34 +02:00
andri lim 1126c7700d
Bump nim-eth and nimbus-eth2 (#2741)
* Bump nim-eth and nimbus-eth2

* Fix ambiguous identifier
2024-10-16 13:51:38 +07:00
Chirag Parmar 2838191c4f
replace deprecated types (#2704)
* partial commit

* fixes

* remove converters too

* revert changes on nimbus_verified_proxy

* revert changes in converter

* revert changes(re-xport) in rpc_types

* update copyright year

* replace types in other binaries

* chain config bug

* fix rebase conflict imcomplete buffer

* fix more rebase buffers

* remove ditto types and converters

* fix the tests

* update copyright year
2024-10-16 08:34:12 +07:00
Pedro Miranda bc0f1ba904
Rename nimbus binary to nimbus_execution_client (#2728)
* rename nimbus binary to nimbus_execution_client

* additional replacements

* makefile and dockerfile

* fix ci building errors

* github workflows

* improved Makefile target

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-10-15 09:37:54 +00:00
Kim De Mey 9c9a41a16d
More verbose error handling for Portal stream content reading (#2737) 2024-10-14 11:53:28 +02:00
bhartnett bdbea9853e
Rename Fluffy rpc methods to match updated spec (#2735) 2024-10-14 16:46:35 +08:00
Kim De Mey 3e36f52fd7
Rename the debug docker files + add a simpler/faster one for Linux (#2731)
Also update related documentation
2024-10-13 18:07:17 +02:00
tersec eec41bc0e8
test with aarch64 macOS (#2729) 2024-10-13 08:20:05 +07:00
Advaita Saha 1858d55748
shift kurtosis + assertor to stable release (#2733) 2024-10-13 08:19:33 +07:00
bhartnett 9db31ac17b
Fluffy: Fix state validation issue causing portal hive test failure (#2732) 2024-10-13 00:51:50 +08:00
Kim De Mey 6e114dc950
Fix JSON encoding for NodeId, no leading zeroes dropped (#2730)
Portal JSON-RPC API specifications dictate that the NodeId must be
the 32 byte identifier. We had leading zeroes being dropped in
our implementation.
2024-10-11 16:43:06 +02:00
Kim De Mey 0ebab78136
Update Grafana dashboard for Portal (#2727) 2024-10-10 20:11:04 +02:00
Kim De Mey a5f0b12bd1
Remove old portal_debug API for seeding data into the network (#2726)
This was the first API created for this, it has been superseded
by the API that makes use of era1 files and/or the portal_bridge.

Only usage was still in test_portal_testnet which has now been
altered to make use if API calls from Portal specification.
2024-10-10 16:42:57 +02:00
andri lim 59dde39d95
Run t8n test in CI (#2724)
* Enable t8n test to run in CI

* Disable trace test for evmc
2024-10-10 20:25:27 +07:00
tersec 266b72698d
rm obsolete MergeTracker (#2725) 2024-10-10 20:25:12 +07:00
bhartnett 4ae87e6d19
Fluffy: Add validation and local storage of content in remaining state portal rpc methods (#2723)
* Add validation functions to be used in state portal rpc.

* Add validation to remaining state portal rpc methods.

* Lookup local content in recursiveFindContent rpc methods.

* portal_stateFindContent and portal_stateOffer no longer store in db.
2024-10-10 21:24:39 +08:00
tersec 69f646f417
bump nim-eth1 for updated Sepolia and Holesky bootnodes (#2722) 2024-10-09 22:45:33 +00:00
Jordan Hrycaj f937f57838
Beacon sync targets cons head rather than finalised block (#2721)
* Fix fringe condition clarifying how to handle an empty range

why:
  The `interval_set` module would treat an undefined interval construct
  `[2,1]` as`[2,2]` (the right bound being `max(2,1)`.)

* Use the `consensus head` rather than the `finalised` block as sync target

why:
  The former is ahead of the `finalised` block.

* In ctx descriptor rename `final` field to `target`

* Update docu, rename `F` -> `T`
2024-10-09 18:00:00 +00:00
bhartnett b13f06fcfb
Fluffy state portal rpc validation (#2719)
* Validate content key in portal_stateLocalContent.

* Add additional validation to stateStore rpc method.
2024-10-09 20:23:46 +08:00
Kim De Mey 5edb0b320f
Allow Portal beacon LC sync to start from a stored LC bootstrap (#2715)
Portal beacon LC sync can be started now from a provided trusted
block root or, in case it has been running before, from a
previously verified and stored LC bootstrap.

This required altering the the beacon db on how the bootstraps
are stored.
2024-10-09 10:21:00 +02:00
Jacek Sieka 11646ad3c4
Ordered trie (#2712)
Speed up trie computations and remove redundant ways of performing this
operation.

Co-authored-by: jangko <jangko128@gmail.com>
2024-10-09 09:44:15 +02:00
andri lim e59d2825f4
Bump nim-stew (#2718) 2024-10-09 11:47:27 +07:00
andri lim 52e3e20643
Bump nim-unittest2 (#2717) 2024-10-09 11:47:15 +07:00
andri lim fe4527617f
Bump nim-eth (#2716) 2024-10-09 11:47:02 +07:00
bhartnett 72ee610826
Rename Fluffy debug rpc methods (#2710)
* Rename Fluffy debug rpc methods.

* Organize portal json-rpc errors.
2024-10-08 15:21:27 +08:00
andri lim 6f9fc3eced
Fix eth/common related deprecation warnings for t8n and evmstate tools (#2711)
* Fix eth/common related deprecation warnings for t8n

* Fix eth/common related deprecation warnings for evmstate
2024-10-08 12:52:32 +07:00