比特币JS Zcash(@exodus/bitcoinjs-lib-zcash(中文(简体) )
比特币JS,为支援Zcash而出道. 不支持z地址,只支持t地址.
全新测试套房;未达到 bitcoinjs-lib套房吗? 可能是Exodus或测试未使用的代码部分中的bugs.
原文 bitcoinjs-lib 读取如下:
纯JavaScript Bitcoin库用于节点.js和浏览器. 估计有超过1500万钱包用户在使用,并且是今天生产中几乎所有比特币网络钱包的骨干.
特征
- 清:纯JavaScript,简洁代码,易读.
- 测试:覆盖率 > 90%,第三方融合测试.
- 注意:对小型,有重点的牵引请求进行两人审批程序.
- 兼容:在Node.js和所有现代浏览器上的工作.
- 强力:支持多相,HD钱包等高级功能.
- 安全:强随机数生成,PGP签名发布,可信赖的开发者.
- 原则:不支持带crap RNG的浏览器(IE < 11)
- 标准化:节点社区编码风格,浏览器,节点的stdlib和Buffers.
- 快:优化代码,使用打出数组而不是字节数组进行性能.
- 实验友好:比特币主网和Testnet支持.
- Altcoin-ready:能够与比特币衍生的密码(如多克币)合作.
我应该用这个生产?
如果你想用这个图书馆的分馆来制作, 停下来。 。 。 . 师傅不是稳定的,而是我们的发展分支 只有有标记的释放可归类为稳定释放。 。 。 .
安装
npm install bitcoinjs-lib
设置
节点.js
var bitcoin = require('bitcoinjs-lib')
浏览器
如果您熟悉如何使用浏览器,请忽略这一点并正常进行. 这些步骤只是咨询性的,可能不适合您的申请.
浏览器 假定为这些步骤安装.
为您的项目创建 index.js 文件
let bitcoin = require('bitcoinjs-lib')
// your code here
function myFunction() {
return bitcoin.ECPair.makeRandom().toWIF()
}
module.exports = {
myFunction,
}
现在,为浏览器编译:
browserify index.js --standalone foo > app.js
你现在可以放 <script src="app.js" /> 在网页中,使用 foo.myFunction 创建新的比特币私人密钥.
页:1:如果丑化了javascript,则必须排除下列可变名称被涂抹: BigInteger, (中文(简体) ), ECPair, (中文(简体) ), Point。 。 。 .
这是因为使用函数名- Duck- typefying 类型力。 。 。 .
示例
uglifyjs ... --mangle reserved=['BigInteger','ECPair','Point']
页:1: 此库跟踪节点 LTS 特性, 如果您需要严格的 ES5 , 请使用 --transform babelify 与《公约》有关的 browserify 步骤(使用 es2015 预设).
页:1: 如果您期望此库运行在 iOS 10 设备上, 请确保您正在使用 缓冲器@ 5.0.5 或超过.
键盘或 VSCode 用户
类型声明可供版本使用 ^3.0.0 图书馆.
npm install @types/bitcoinjs-lib
你现在可以使用 bitcoinjs-lib 作为符合打字功能的库.
import { HDNode, Transaction } from 'bitcoinjs-lib'
对于VSCode(和其他编辑),建议用户安装类型声明,因为Intellisense使用该信息帮助您编码(自动补全,静态分析).
报告任何与打字相关的错误 @ Dlebrecht 绝对是叉子,向 绝对是Tyed
流动
定义 流程类型检查器 以流程类型寄存器提供.
也可以直接下载 从 repo, 或随流型的 CLI
# npm install -g flow-typed
$ flow-typed install -f 0.27 [email protected] # 0.27 for flow version, 2.2.0 for bitcoinjs-lib version
这些定义是完整的,最新的版本为2.2.0. 这些定义由下列机构维护: @ runn1ng (英语)。 。 。 .
实例
以下例子作为综合测试加以实施,应当非常容易理解. 否则,拉动请求会得到赞赏. 一些实例(通过HTTPS)与第3个缔约方区块链提供者(3PBP)相互作用.
- 生成随机地址
- 从 SHA256 散列生成地址
- 通过 WIF 导入地址
- 生成一个 2- 3 P2SH 多西格地址
- 生成 SegWit 地址
- 生成 SegWit P2SH 地址
- 生成一个 SegWit 3- of-4 多西格地址
- 生成一个 SegWit 2- of-2 P2SH 多西格地址
- 支持检索地址的交易(第3方块链)
- 生成一个测试网地址
- 生成 Litecoin 地址
- 创建一对一交易
- 创建2至2个交易
- 创建(并通过 3PBP 广播) 一个典型的交易
- 创建(并通过 3PBP 播放) 带有 OP RETURN 输出的交易
- 通过 3PBP 创建(并通过 3PBP 广播) 包含 2–4 P2SH(多相)输入的交易
- 创建(并通过 3PBP 广播) 包含 SegWit P2SH( P2WPKH) 输入的交易
- 创建(并通过 3PBP 播放) 包含 SegWit 3- of-4 P2SH( P2WSH( 多相) ) 输入的交易
- 导入 BIP32 测试网 xpriv 并导出到 WIF
- 导出 BIP32 xpriv, 然后导入
- 导出 BIP32 xpub
- 创建 BIP32, 比特币, 账户 0, 外部地址
- 创建 BIP44, 比特币, 账户 0, 外部地址
- 创建 BIP49, 比特币测试网, 账户 0, 外部地址
- 使用 BIP39 生成 BIP32 地址
- 创建(并通过 3PBP 广播) 交易,爱丽丝可以在到期后赎回输出
- 创建(并通过 3PBP 播放) 交易, 爱丽丝 和 Bob 可以随时赎回输出
- 创建(但未能通过 3PBP 播放) Alice 试图在到期前赎回的交易
- 从重复的 R 值中回收一个私钥
- 从母公钥中取回一个 BIP32 父私钥, 以及一个衍生的非硬化儿童私钥
- 生成一个单键隐形地址
- 生成一个单键隐形地址( 随机)
- 恢复母收件人.d,如果衍生出的一个私钥被泄露(并且非ce被披露)
- 生成双键隐形地址
- 生成双键隐形地址( 随机)
如果你有你觉得可以列在这里的用具,请 问吧来啊!
BitcoinJS项目
捐款
我们总是接受牵引请求,但我们确实遵守关于编码样式、测试驱动开发和承诺信息的具体标准.
请尽力遵守这些规定,为微小的改正作出贡献.
运行测试套件
npm test
npm run-script coverage
补充图书馆
- BIP21 投资促进局 - BIP21兼容的URL编码库
- BIP38 投资促进局 - 密码句保护的私人密钥
- BIP39 投资促进局 - 确定密钥的模拟生成
- BIP32-Utils (英语) - 与BIP32合作的一套公用事业
- BIP66 (英语) - 严格的DER签名解码
- BIP68 投资促进局 - 相对锁定时间编码库
- BIP69 投资促进局 - 交易投入和产出的地理学索引
- 基础58 - 基础58编码/解码
- 基础58 检查 - 基础58检查编码/解码
- 贝克32 - BIP173兼容Bech32编码库
- 硬币选择 - 比特币-lib的收费优化、交易输入选择模块.
- 梅克莱- lib - 用于计算墨克勒根和树的性能意识库.
- 最小数据 - 检查比特币政策的一个模块:SCRIPT VRIFY MINIMALDATA