我有一个小脚本,基本上取自bitcoinjs-lib 中的这个测试脚本
function getAddress(node) {
const bitcoin = require('bitcoinjs-lib');
return bitcoin.payments.p2pkh({ pubkey: node.publicKey }).address;
}
function BIP44() {
/* create a BIP44, rvn, account 0, external address */
const bip32 = require('bip32');
const root = bip32.fromSeed(
Buffer.from(
'dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd',
'hex',
),
);
const childAuto = root.derivePath("m/44'/175'/0'/0/0");
const childManual = root
.deriveHardened(44)
.deriveHardened(175)
.deriveHardened(0)
.derive(0)
.derive(0);
return getAddress(childAuto);
}
console.log(BIP44());
它非常适合派生比特币地址(派生路径"m/44'/0'/0'/0/0"
),但是当尝试派生任何其他地址时,它似乎不起作用。输出是这样的:
16CzcgCURH83h3cLQ91ZpavDjXSfuNru4c
该地址以 1 开头,而 RVN 地址以 R 开头。
我错误地认为仅通过更改派生路径以匹配 RVN ( 175
) 就会生成 Raven 地址,但我肯定还缺少其他东西。
你能帮我弄清楚我哪里出错了吗?
我探索的其他资源: