Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

feat: generate keystores parallely #82

Merged
merged 16 commits into from
Aug 4, 2023

Conversation

h4ck3rk3y
Copy link
Contributor

You have to set network_params.parallel_keystore_generation to true like

{
  "participants": [
    {
      "el_client_type": "geth",
      "el_client_image": "",
      "el_client_log_level": "",
      "cl_client_type": "lighthouse",
      "cl_client_image": "",
      "cl_client_log_level": "",
      "beacon_extra_params": [],
      "el_extra_params": [],
      "validator_extra_params": [],
      "builder_network_params": null,
      "count": 2
    }
  ],
  "network_params": {
    "preregistered_validator_keys_mnemonic": "giant issue aisle success illegal bike spike question tent bar rely arctic volcano long crawl hungry vocal artwork sniff fantasy very lucky have athlete",
    "num_validator_keys_per_node": 64,
    "network_id": "3151908",
    "deposit_contract_address": "0x4242424242424242424242424242424242424242",
    "seconds_per_slot": 12,
    "genesis_delay": 120,
    "capella_fork_epoch": 5,
    "deneb_fork_epoch": 500,
    "parallel_keystore_generation": true
  },
  "global_client_log_level": "info"
}

@h4ck3rk3y h4ck3rk3y linked an issue Aug 3, 2023 that may be closed by this pull request
@h4ck3rk3y h4ck3rk3y force-pushed the gyani/parallel-keystore-generation branch from a6915df to 70c26e1 Compare August 3, 2023 15:21
@h4ck3rk3y h4ck3rk3y force-pushed the gyani/parallel-keystore-generation branch from 70c26e1 to a95f10b Compare August 4, 2023 10:25
@h4ck3rk3y h4ck3rk3y enabled auto-merge (squash) August 4, 2023 11:04
@h4ck3rk3y h4ck3rk3y disabled auto-merge August 4, 2023 11:05
@h4ck3rk3y h4ck3rk3y merged commit 8b4943f into main Aug 4, 2023
1 of 2 checks passed
@h4ck3rk3y h4ck3rk3y deleted the gyani/parallel-keystore-generation branch August 4, 2023 11:33
@github-actions github-actions bot mentioned this pull request Aug 4, 2023
h4ck3rk3y pushed a commit that referenced this pull request Sep 7, 2023
🤖 I have created a release *beep* *boop*
---


##
[2.0.0](1.0.0...2.0.0)
(2023-09-06)


### ⚠ BREAKING CHANGES

* calculate genesis validators root
([#90](#90))

### Features

* add a new prefunded account
([#20](#20))
([4abb7f1](4abb7f1))
* add all bootnodes to ELs
([#102](#102))
([c9a5e96](c9a5e96))
* Add all network config options to README
([#11](#11))
([87c3582](87c3582))
* add default network params json
([#7](#7))
([2836f9c](2836f9c))
* add deneb support
([#28](#28))
([9d9b1df](9d9b1df))
* add engine rpc snooper
([#91](#91))
([b6a5c35](b6a5c35))
* add ethereumjs
([#107](#107))
([2ed76a1](2ed76a1))
* add jwt secret to el_client_context
([#26](#26))
([9fff2bc](9fff2bc))
* add resource management
([#64](#64))
([a8240b1](a8240b1))
* add service_name to the el client context
([#53](#53))
([0b39ea4](0b39ea4))
* add static peers to erigon
([#110](#110))
([bedc37d](bedc37d))
* add support for reth
([#67](#67))
([2d0c53c](2d0c53c))
* Adding configurable slot time
([#32](#32))
([7b01db3](7b01db3))
* bump ethereum genesis generator to be 4788 compliant
([#92](#92))
([979faf2](979faf2))
* calculate genesis validators root
([#90](#90))
([9295b39](9295b39))
* enable capella at epoch 0, or non 0
([#61](#61))
([30d2ccf](30d2ccf))
* **formatting:** Add editorconfig, move everything to using tabs (4)
([#50](#50))
([d9f9f4f](d9f9f4f))
* generate keystores parallely
([#82](#82))
([8b4943f](8b4943f))
* get trusted contacts and parsed beacon state
([#30](#30))
([75744dd](75744dd))
* low block time & genesis and ability to run non replay contracts
([#23](#23))
([47bac9b](47bac9b))
* make most cls archive by default
([#109](#109))
([7e99047](7e99047))
* Rename keytores to match their respective CL name
([#71](#71))
([83e68b2](83e68b2))
* return cl genesis timestamp
([#18](#18))
([27aebce](27aebce))
* Return participants list
([#13](#13))
([5079dc6](5079dc6))
* service name should start with alphabetical character
([#63](#63))
([8092cc1](8092cc1))
* Set capella at epoch=0
([#55](#55))
([871173a](871173a))
* support multiple bootnodes & static peer ids
([#81](#81))
([a71204c](a71204c))
* support repeating the exec/consensus client pairs via count
([#49](#49))
([2f10aa5](2f10aa5))
* use actual client names for beacon/validator nodes, fixes
[#46](#46)
([#47](#47))
([5ee35b5](5ee35b5))


### Bug Fixes

* add extra nimbus flags, fix validator mismatch
([#76](#76))
([a64f7aa](a64f7aa))
* add web3 for besu
([#104](#104))
([53e004c](53e004c))
* allow reth to be the first node
([#74](#74))
([2895a00](2895a00)),
closes
[#70](#70)
* bad index
([#77](#77))
([6db2e07](6db2e07))
* besu flag update
([#56](#56))
([3ec2850](3ec2850))
* Bump genesis generator
([#99](#99))
([97ce5dc](97ce5dc))
* capella is 1 epoch by default
([#60](#60))
([03ee193](03ee193))
* change suggested fee recipient to first genesis funded address
([#66](#66))
([cf16fc3](cf16fc3))
* de-duplicate extra-parameter parsing
([#113](#113))
([44b5087](44b5087))
* delay network freeze around deneb by delaying deneb
([#43](#43))
([ba3a2bc](ba3a2bc))
* Deprecating nethermind config hardcode
([#33](#33))
([7e75a31](7e75a31))
* fix capella/shanghai timing to prevent network from getting locked
([#29](#29))
([04aee0c](04aee0c))
* fix maximum enr bug
([#86](#86))
([9c2bc79](9c2bc79))
* Fixes nimbus node runtime expectation of deposit contract block hash
([#51](#51))
([4074d55](4074d55))
* genesis validators root reader
([#106](#106))
([f41eb9c](f41eb9c))
* give account 7 some tokens
([#40](#40))
([16e2d89](16e2d89))
* limit to the first 20 enrs for peering only
([#85](#85))
([09ac414](09ac414))
* lodestar arg update
([#57](#57))
([8745c7c](8745c7c))
* lodestar enr issues
([#84](#84))
([6ccedbe](6ccedbe))
* lodestar metrics port are better now
([#38](#38))
([2a2576e](2a2576e))
* lower capella fork epoch to 1 and change CL capella calculation
([#25](#25))
([0e36ac4](0e36ac4))
* make besu a bootnode
([#108](#108))
([8396650](8396650))
* moved out parallel keystore generation
([#100](#100))
([1ed13f7](1ed13f7))
* Nethermind cleanup
([#98](#98))
([866da67](866da67))
* nimbus fails early with <12 seconds per slot
([#44](#44))
([07d81fa](07d81fa))
* prysm clients and cli flags passed
([#34](#34))
([6d1ef7b](6d1ef7b))
* prysm validator
([#62](#62))
([63ae539](63ae539))
* put boot node behind if condition for reth
([#69](#69))
([b3de5e4](b3de5e4))
* remove hardcoded key from geth
([#117](#117))
([260abff](260abff))
* Remove nethermind bootnode restrictions
([#97](#97))
([3678158](3678158))
* Remove nethermind restriction
([#95](#95))
([417241f](417241f))
* remove unused config params
([#10](#10))
([4c2ccaa](4c2ccaa))
* revert seconds per slot
([#31](#31))
([959729e](959729e))
* Stale flags and image versions
([#35](#35))
([46b8b29](46b8b29))
* teku local networking
([#58](#58))
([bf6b8b2](bf6b8b2))
* truncate enode after `?`
([#103](#103))
([bdd51dd](bdd51dd))
* Update CL config for teku
([#37](#37))
([f5c6eb4](f5c6eb4))
* Update default client images
([#14](#14))
([c2cdf0f](c2cdf0f))
* use reth from github container registry
([#101](#101))
([4871092](4871092))
* use run_python to calculate genesis time
([#116](#116))
([67930a8](67930a8))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

keystore generation is slow for 10000 keys per node
2 participants