Si tengo la clave privada de texto sin formato, ¿cómo puedo generar un geth
archivo de almacén de claves compatible con Node.js?
Creo que necesito cifrarlo usando el scrypt
algoritmo proporcionando una contraseña, pero no sé cómo hacerlo. Cualquier ejemplo, preferiblemente navegable, sería muy apreciado.
Gracias,
El archivo de almacén de claves compatible con geth se puede crear en Node usando la biblioteca ethereumjs-wallet :
> var Wallet = require('ethereumjs-wallet');
> var key = Buffer.from('efca4cdd31923b50f4214af5d2ae10e7ac45a5019e9431cc195482d707485378', 'hex');
> var wallet = Wallet.fromPrivateKey(key);
> wallet.toV3String('password');
'{"version":3,"id":"467233bf-45ec-423b-9548-bdc4a42aa099","address":"b14ab53e38da1c172f877dbc6d65e4a1b0474c3c","crypto":{"ciphertext":"17886b7ff355219dd20900543b9592fcd4dc6fe7d8f776f1a4d1c63993112181","cipherparams":{"iv":"434e4e71d2013a2d84e86a6e89efbb0b"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"7a785ab75fa906734788d85ff43a2c8e704af41881dd50a2d52abe08092f07ec","n":262144,"r":8,"p":1},"mac":"98d9a76960dcef22a5fd28a6bf47e5c68a71b30bcf353eccbf5a6555abec78a1"}}'
También puede especificar opciones adicionales para controlar kdf, cifrado y otros parámetros de billetera. Ver aquí _
geth account import privatekeyfile
para producir el siguiente JSON{"address":"b14ab53e38da1c172f877dbc6d65e4a1b0474c3c","crypto":{"cipher":"aes-128-ctr","ciphertext":"ff22d876d416cb97876dabfee6b6d00645de2d8dd5fca3b46f82112b1a3cffcd","cipherparams":{"iv":"798fcf346ea18c4c3c9e848118c94527"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"bcc9bdc5a24f37ea56269017325b7bda67813199e017d566d7c274722a29d2b6"},"mac":"57efcea80420e75ed4087f20ac0e37481959a3a8a884e4c4a42bcb4331962dfc"},"id":"f162e70f-4b7c-425b-ba84-3041edfc292a","version":3}
ética
jeff
ética
tjaden hess
Pablo Razvan Berg