bitwasp / bitcoinconsensus
包含bitcoinconsensus的占位符的Composer包。确保您的版本正确!
v3.0.1
2018-11-06 07:54 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: 4.6.6
This package is auto-updated.
Last update: 2024-09-21 19:22:00 UTC
README
比特币脚本验证的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;