bitwasp/bitcoinconsensus

包含bitcoinconsensus的占位符的Composer包。确保您的版本正确!

v3.0.1 2018-11-06 07:54 UTC

This package is auto-updated.

Last update: 2024-09-21 19:22:00 UTC


README

Build Status codecov

比特币脚本验证的PHP扩展。

它提供了对bitcoinconsensus.h库的绑定,该库通过C兼容的接口提供了VerifyScript。

该库通常在编译Bitcoin Core时构建,也包含在Bitcoin Core的签名版本中。这意味着您可以构建自己的或获取可信的副本。

要求

版本v3.0.0可以在PHP版本> 7.0上运行。

  • 理论上可以在Bitcoin Core v0.13.0之前的版本上构建。

版本v2.0.0可以在PHP版本5.3 - 5.6以及PHP 7.0 - 7.2,7.3-RC上运行

  • 它必须针对Bitcoin Core v0.13.0及以上版本构建。

在安装部分查看如何安装特定分支。

支持的功能

脚本验证标志

BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_NONE
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_P2SH
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_DERSIG

Optional (depends on bitcoinconsensus.h build):
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_WITNESS
BITCOINCONSENSUS_SCRIPT_FLAGS_VERIFY_NULLDUMMY

bitcoinconsensus_verify_script{,with_amount}的错误代码

BITCOINCONSENSUS_ERR_OK                   no error
BITCOINCONSENSUS_ERR_TX_INDEX             input index not set in transaction
BITCOINCONSENSUS_ERR_TX_SIZE_MISMATCH     (not possible)
BITCOINCONSENSUS_ERR_TX_DESERIALIZE       invalid transaction serialization

Optional (depends on bitcoinconsensus.h build):
BITCOINCONSENSUS_ERR_AMOUNT_REQUIRED      used segwit flag with old function
BITCOINCONSENSUS_ERR_INVALID_FLAGS        invalid script verification flags used

兼容性

遵循BITCOINCONSENSUS_VERIFY_x命名的脚本验证常量已被移除,以支持上游命名。

安装方法

    git clone -b v3.0.0 git@github.com:bit-wasp/bitcoinconsensus-php
    cd bitcoinconsensus-php/bitcoinconsensus
    phpize && ./configure --with-bitcoinconsensus && make && sudo make install

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

将此行添加到您的php.ini文件中,以默认启用PHP中的扩展。

extension=bitcoinconsensus.so

示例

获取版本

echo bitcoinconsensus_version() . PHP_EOL;