我目前正在为我的公司开发一个 API,它利用 xpub 和路径来生成地址。
问题是,我设法为我们需要的所有加密货币做到了这一点,除了 Zcash。我们使用的是 Trezor 硬件钱包,而 Trezor connect 对我们不起作用,因为我们需要将流与设备本身分离。
通常,我对所有其他硬币使用 bitcoinjs 库,但我无法为 zcash 导出正确的地址格式。花了很多时间搜索 github 问题,但没有运气。有帮助的话真的很棒,谢谢大家!我的代码目前如下所示:
xpub = process.env.ZEC_PUB_KEY;
network = {
messagePrefix: '\x18ZCash Signed Message:\n',
bech32: 't1',
bip32: {
public: 0x0488b21e,
private: 0x0488ade4
},
pubKeyHash: 0x1cb8,
scriptHash: 0x1cbd,
wif: 0x80
};
p2wpkh = bjs.payments.p2wpkh({ pubkey: bjs.bip32.fromBase58(xpub, network).derive(0).derive(pathNumber).publicKey, network });
payment = bjs.payments.p2sh({ redeem: p2wpkh, network });
address = payment.address;