bitwasp/secp256k1-php

用于bitcoin/secp256k1的PHP扩展,包含绑定。

v0.2.2 2019-02-26 18:56 UTC

README

Build Status codecov

PHP绑定https://github.com/bitcoin-core/secp256k1

请注意,上游库libsecp256k1的作者仍然将其视为实验性,并且尚未正式发布。因此,不建议使用。对于共识系统,此警告至关重要。

该库支持EcDH和签名恢复模块 - 这些库是安装所需的。

需求

在v0.0.x版本中支持PHP 5.*版本。v0.1.x系列支持PHP 7。

关于扩展

  • 自v0.1.3版本发布以来,完全单元测试,代码覆盖率>99%。
  • 该扩展目前仅支持确定性签名。实际上,此扩展没有使用RNG - 私钥必须在其他地方生成。
  • 该扩展暴露与libsecp256k1相同的原始API。因此,您必须确保您传递每个值的二进制表示。
  • 与libsecp256k1一致,此扩展通过写入变量引用并将返回代码表示失败/成功来向用户返回某些数据。

安装

libsecp256k1

    git clone git@github.com:bitcoin-core/secp256k1 && \
    cd secp256k1 &&                                    \
    ./autogen.sh &&                                    \
    ./configure --enable-experimental --enable-module-{ecdh,recovery} && \
     make &&                                           \
     sudo make install &&                              \
     cd ../

secp256k1-php

    git clone git@github.com:Bit-Wasp/secp256k1-php && \
    cd secp256k1-php/secp256k1 &&                      \
    phpize &&                                          \ 
    ./configure --with-secp256k1 &&                    \  
    make && sudo make install &&                       \
    cd ../../

示例

请参阅示例文件夹,或测试套件中的* _ basic.phpt文件

(可选) - 默认启用扩展!

如果您是重度用户,您可以将此行添加到您的php.ini文件中,用于php-cli、apache2或php-fpm。

/etc/php/7.0/cli/conf.d/20-secp256k1.ini -> /etc/php/7.0/mods-available/secp256k1.ini

extension=secp256k1.so

运行测试

(从secp256k1-php目录发出命令)

基本测试

cd secp256k1-php/secp256k1 && make test