mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-01-09 13:56:23 +00:00
d977c96ae1
* signed_root -> signing_root * implement new process_deposit; update timing parameters to 0.6.1; update Deposit to 0.6.1 and remove DepositInput * update get_active_validator_indices and get_epoch_committee_count to 0.6.1; rm get_current_epoch_committee_count, get_previous_epoch_committee_count, and get_next_epoch_committee_count; bump state_sim default validator count a bit more * re-introduce 0.5.1-ish get_active_validator_indices, get_epoch_committee_count as scaffolding for still-0.5.1ish shuffling
53 lines
1.4 KiB
Nim
53 lines
1.4 KiB
Nim
import
|
|
os, ospaths, strutils, strformat,
|
|
chronos, blscurve, nimcrypto, json_serialization, confutils,
|
|
spec/[datatypes, digest, crypto], conf, time, ssz,
|
|
../tests/testutil
|
|
|
|
proc writeTextFile(filename: string, contents: string) =
|
|
writeFile(filename, contents)
|
|
echo "Wrote ", filename
|
|
|
|
proc writeFile(filename: string, value: auto) =
|
|
Json.saveFile(filename, value, pretty = true)
|
|
echo "Wrote ", filename
|
|
|
|
cli do (totalValidators: int = 125000,
|
|
outputDir: string = "validators",
|
|
generateFakeKeys = false):
|
|
|
|
for i in 0 ..< totalValidators:
|
|
let
|
|
v = validatorFileBaseName(i)
|
|
depositFn = outputDir / v & ".deposit.json"
|
|
privKeyFn = outputDir / v & ".privkey"
|
|
|
|
if existsFile(depositFn) and existsFile(privKeyFn):
|
|
continue
|
|
|
|
let
|
|
privKey = if generateFakeKeys: makeFakeValidatorPrivKey(i)
|
|
else: ValidatorPrivKey.random
|
|
pubKey = privKey.pubKey()
|
|
|
|
let
|
|
withdrawalCredentials = makeFakeHash(i)
|
|
domain = 3'u64
|
|
|
|
var
|
|
deposit = Deposit(
|
|
data: DepositData(
|
|
amount: MAX_EFFECTIVE_BALANCE,
|
|
pubkey: pubKey,
|
|
withdrawal_credentials: withdrawalCredentials))
|
|
|
|
deposit.data.signature =
|
|
bls_sign(privkey, signing_root(deposit.data).data,
|
|
domain)
|
|
|
|
writeTextFile(privKeyFn, $privKey)
|
|
writeFile(depositFn, deposit)
|
|
|
|
if generateFakeKeys:
|
|
echo "Keys generated by this tool are only for testing!"
|