uma/jimmy

比特币编程库

维护者

详细信息

github.com/1ma/jimmy

源代码

问题

安装: 10

依赖项: 0

建议者: 0

安全性: 0

星标: 4

关注者: 1

分支: 1

开放性问题: 0

类型:项目

dev-master 2024-07-30 16:19 UTC

This package is auto-updated.

Last update: 2024-08-30 16:34:51 UTC


README

CI Coverage

Jimmy Song的《比特币编程》代码,用PHP实现。

composer require uma/jimmy:dev-master

免责声明

这是一些玩具级代码,用于学习概念,不适合用于达到生产状态的实际项目。

它性能不佳,未经过充分测试,并且未经审查。如果您在主网上使用它,可能会泄露私钥,创建无法使用的无效UTXO交易等。

为了强调这一点,我不会标记任何版本,并且不保证任何形式的向后兼容性。为了进一步强调,这个库默认假设它在测试网上运行,而不是主网上。

实现的书章节

  • 第1章:有限域
  • 第2章:椭圆曲线
  • 第3章:椭圆曲线密码学
  • 第4章:序列化
  • 第5章:交易
  • 第6章:脚本
  • 第7章:交易创建和验证
  • 第8章:脚本哈希支付
  • 第9章:区块
  • 第10章:网络
  • 第11章:简化支付验证
  • 第12章:布隆过滤器
  • 第13章:SegWit

其他感兴趣的区域

如何

实现与ECC相关的代码需要在256位整数上执行数学运算,这就是为什么这本书使用Python。

PHP,像大多数编程语言一样,只有32或64位的整数与机器的字节大小匹配。然而,该语言有一个到libgmp的本地绑定,该绑定提供了对表示和执行任意大整数的数学运算的支持,尽管性能可忍受(但不足以满足需求),就像Python一样。