理论学完了,来动手实践。本节将前面的知识串联起来,通过代码实现和安全案例加深理解。
使用 ethers.js 实现:
const { ethers } = require('ethers');
// 生成随机助记词
const mnemonic = ethers.Wallet.createRandom().mnemonic;
console.log('助记词:', mnemonic.phrase);
// 从助记词派生钱包
const hdNode = ethers.utils.HDNode.fromMnemonic(mnemonic.phrase);
// 派生第 0 个地址 (m/44'/60'/0'/0/0)
const wallet0 = hdNode.derivePath("m/44'/60'/0'/0/0");
console.log('地址 0:', wallet0.address);
console.log('私钥 0:', wallet0.privateKey);
// 派生第 1 个地址
const wallet1 = hdNode.derivePath("m/44'/60'/0'/0/1");
console.log('地址 1:', wallet1.address);const provider = new ethers.providers.JsonRpcProvider('RPC_URL');
const wallet = new ethers.Wallet('PRIVATE_KEY', provider);
const tx = {
to: '0x接收地址',
value: ethers.utils.parseEther('0.01'),
gasLimit: 21000,
};
const receipt = await wallet.sendTransaction(tx);
console.log('交易哈希:', receipt.hash);在 Etherscan 上可以查询: