It would be nice if all Eth2 clients use the same keystore format ✨
EIP-2335 defines a common BLS12-381 keystore format.
It seems there are some field name differences between the current Prysm keystore and the EIP, e.g., publickey and pubkey, id and uuid.
Prysm's wallet keymanager is EIP-2335 compliant.
@mcdee
Thanks for the reply! I found that the wallet generated by ethdo is EIP-2335 format, but the keystore file that created by ./prysm.sh validator accounts create command seems a bit different? I got validatorprivatekey960081f09ef8 json file:
{
"publickey":"960081f09ef8e6c32565bc8ac04353c09b628836776f7b9bad53c31ca1471b68cc9dd7a4c8a68b10900954d2835cc21b",
"crypto":{
"cipher":"aes-128-ctr",
"ciphertext":"f8c0f315bf8bd8870faf471136d466370295b0c99134b6112825444e40403723",
"cipherparams":{
"iv":"64e93eb0c95c2730b076845e5197d1f1"
},
"kdf":"scrypt",
"kdfparams":{
"dklen":32,
"n":262144,
"p":1,
"r":8,
"salt":"01e44a5c0e243b87db0d76bbfe5e859e5405d50d438c3d2ec130f7a632ff3073"
},
"mac":"7718f2df70ce5fe52470e4f26c0f3866b861e459d9a7609e427b3fa2c77246b2"
},
"id":"b63e8726-3b55-4e09-8aab-76e1da172eef"
}
Yeah, prysm has multiple ways of accessing keys. The one you showed above is in the Ethereum 1 keystore v3 format (the keystore keymanager).
@mcdee
Is that correct to say Prysm can read EIP-2335 keystore file as well, and also we can output EIP-2335 format keystore during account creation with some flags?
Read it, yes. There is no way to create EIP-2335 format keystores in prysm itself; people generally use ethdo to create such accounts.
@rauljordan Why was this closed ?
Closing this in favor of the validator account revamp issue #6220.
Please follow #6220 for updates on EIP-2335 implementation in Prysm as the default storage format.
Most helpful comment
Read it, yes. There is no way to create EIP-2335 format keystores in prysm itself; people generally use
ethdoto create such accounts.