为何send-crypto返回不同BTC地址?能否使用P2WPKH格式?
解决send-crypto库生成P2WPKH格式BTC地址的问题
可以在send-crypto中使用P2WPKH格式的SegWit地址,问题出在默认配置上——send-crypto调用address('BTC')时默认生成P2PKH格式地址,你只需要显式指定地址格式参数即可。
实现步骤
直接在调用address()方法时添加format配置项,指定为'p2wpkh':
const { CryptoAccount } = require('send-crypto'); // 你的WIF私钥 const privateKey = 'L1seBxjV72D...'; const account = new CryptoAccount(privateKey); // 生成P2WPKH格式的SegWit地址 const segwitAddress = account.address('BTC', { format: 'p2wpkh' }); console.log(segwitAddress); // 输出bc1q开头的P2WPKH地址
补充说明
- 用上述方式生成的地址,和你通过bitcoinjs-lib基于
m/84'/0'/0'/0/${index}路径生成的P2WPKH地址完全匹配,因为二者基于同一私钥对应的公钥,仅地址编码格式不同。 - 使用该P2WPKH地址转账时,send-crypto会自动适配SegWit交易的脚本规则,无需额外配置。
内容的提问来源于stack exchange,提问作者StormyTalent
相关产品推荐
相关产品推荐

