Cryptocurrency Research Lab.

Cryptocurrency関連技術についての調査・研究

【Binance Chain API】④ KeyStoreファイルの読み込み

今回はBinance Chain用のKeyStoreを読み込みパスワードを指定して、Private keyとアドレスを復元する方法を紹介します。

Private keyは送金や暗号資産の交換などのトランザクションに必要となる大事なものですので、 使うときにだけ復元するなど取り扱いに十分に注意して、誤って外部に流出させてしまうことの無いように気を付けてください。

Binance Chain APIを使用したKeyStoreの読み込み
const fs = require('fs');
const BnbApiClient = require('@binance-chain/javascript-sdk');
const crypto = BnbApiClient.crypto;

try {
  const keyStore = fs.readFileSync('./keystore.json', 'utf8');
  const password = '<パスワード>';

  const privateKey = crypto.getPrivateKeyFromKeyStore(keyStore, password);
  const address = crypto.getAddressFromPrivateKey(privateKey, 'BNB');
  console.log(`privateKey:${privateKey}, address:${address}`);

} catch (e) {
  console.error(e);
}

ファイルが読み込めなったりパスワードが間違っている場合には、例外がスローされます。 正しく読み込めた場合、変数privateKey および 変数addressに有効な値が設定されています。

crypto.getAddressFromPrivateKey()の第2引数には'BNB'を指定してください。 省略した場合はメインネット用アドレス(bnb~)ではなく、テストネット用アドレス(tbnb~)が設定されますのでご注意ください。