本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

V4キーストア・シングル

この例では、keystore V4 singleを暗号化および復号化する方法を示す。

Walletクラスを**@kaiachain/ethers-ext/v5**パッケージからインポートします。

暗号化されたキーストアの定義 バージョン4

キーストアの現在のパスワード新しいパスワードを指定する。

キーストアに現在のパスワードをロードする。

復号後は、public keyprivate keyにアクセスできる。

暗号化解除したキーと新しいパスワードを使って、新しいキーストアを生成することができる。 暗号化された新しい鍵はkeystore v3となる。

新しいキーストアのpublicキーと秘密キーをチェックしてください。

keystoreV4-single.js

const { Wallet } = require("@kaiachain/ethers-ext/v5");
// Klaytn V4 with one key. kcn account new --lightkdf
const encryptedKey = `{
"address":"ec5eaa07b4d3cbafe7bf437a1ea9a898209f617c",
"keyring":[
[
{
"cipher":"aes-128-ctr",
"ciphertext":"0a5aa3749b9e83c2a4238445aeb66f59355c0363a54c163e34e454f76e061e47",
"cipherparams":{"iv":"2a0b2e02a61e0f721bd800ea6e23a588"},
"kdf":"scrypt",
"kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"538ead57745bcd946b05fe294de08256628d9a0a393fd29ced933ba5fc045b07"},
"mac":"30b5488bc97165bc7ecac8ff8dfec65a75a8ad206450aecff0ac2dfea6f79b08"
}
]
],
"id":"362c0766-f5e3-4b4d-af22-7e89d5fb613a",
"version":4
}`;
const password = "password";
const newPassword = "newPassword";
async function main() {
const account = Wallet.fromEncryptedJsonSync(encryptedKey, password);
console.log("decrypted (address, privateKey)");
console.log(account.klaytnAddr, ", ", account.privateKey);
const v3encryptedKey = await account.encrypt(newPassword);
const newAccount = Wallet.fromEncryptedJsonSync(v3encryptedKey, newPassword);
console.log("\ndecrypted (address, privateKey) with new password");
console.log(newAccount.address, ", ", newAccount.privateKey);
}
main();

output

❯ node keystoreV4-single.js
decrypted (address, privateKey)
0xec5eaa07b4d3cbafe7bf437a1ea9a898209f617c , 0x4062512193ef1dab8ccf3e3d7a4862e3c740bdf11d852954ed48bc73643e354f
decrypted (address, privateKey) with new password
0xEc5eAa07b4d3CbAfe7bf437a1Ea9A898209F617c , 0x4062512193ef1dab8ccf3e3d7a4862e3c740bdf11d852954ed48bc73643e354f

ページを改善してください。