Ethers.js
如何從安全帽乙太簽名者那裡獲取私鑰?
在安全帽中,我想從簽名者那裡獲取privateKey , privateKeys在**hardhat.config中初始化。
networks.network.accounts
import { ethers } from "hardhat"; import { Signer } from "ethers"; const accounts = await ethers.getSigners(); const account0: Signer = accounts[0];
我在
Signer
實例上看不到任何獲取privateKey的屬性/方法。
好吧,考慮將 ether.js 與一些錢包連接起來。私鑰不會傳遞給圖書館,因為它可能會被盜。圖書館向錢包發出請求以簽署交易。
所以私鑰不儲存在簽名者內部。
localhost
您可以從網路配置( ,mainnet
等)中獲取私鑰:import { config } from "hardhat"; console.log('Accounts from config:', config.networks.mainnet.accounts);
如果您想獲取安全帽帳戶的私鑰:
const accounts = config.networks.hardhat.accounts; const index = 0; // first wallet, increment for next wallets const wallet1 = ethers.Wallet.fromMnemonic(accounts.mnemonic, accounts.path + `/${index}`); const privateKey1 = wallet1.privateKey ...
這是一個範例,我如何使用它: