Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bit-wasp/bitcoinconsensus-php
PHP extension for bitcoinconsensus library for script validation
https://github.com/bit-wasp/bitcoinconsensus-php
bitcoin bitcoinconsensus-php ext-bitcoinconsensus php php-extension
Last synced: 5 days ago
JSON representation
PHP extension for bitcoinconsensus library for script validation
- Host: GitHub
- URL: https://github.com/bit-wasp/bitcoinconsensus-php
- Owner: Bit-Wasp
- License: mit
- Created: 2015-05-22T16:52:21.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-01-20T19:37:25.000Z (almost 6 years ago)
- Last Synced: 2024-10-25T19:57:14.607Z (22 days ago)
- Topics: bitcoin, bitcoinconsensus-php, ext-bitcoinconsensus, php, php-extension
- Language: PHP
- Size: 109 KB
- Stars: 6
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bitcoinconsensus-php
[![Build Status](https://travis-ci.org/Bit-Wasp/bitcoinconsensus-php.svg?branch=master)](https://travis-ci.org/Bit-Wasp/bitcoinconsensus-php)
[![codecov](https://codecov.io/gh/Bit-Wasp/bitcoinconsensus-php/branch/master/graph/badge.svg)](https://codecov.io/gh/Bit-Wasp/bitcoinconsensus-php)PHP extension for Bitcoin Script validation.
It exposes bindings to the bitcoinconsensus.h library, which exposes the VerifyScript
with a C compatible interface.The library is normally build during compilation of Bitcoin Core, and is also distributed
in signed releases of Bitcoin Core. This means you can build your own or
get a trusted copy.## Requirements
Version v3.0.0 can be run on PHP versions > 7.0.
- In theory can be built with versions before Bitcoin Core v0.13.0.Version v2.0.0 can run on PHP versions 5.3 - 5.6, and PHP 7.0 - 7.2, 7.3-RC
- It must be built against Bitcoin Core v0.13.0 upwards.See how to install a certain branch in the installation section.
## Supported features
Script verification flags:
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_NULLDUMMYError codes for 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 serializationOptional (depends on bitcoinconsensus.h build):
BITCOINCONSENSUS_ERR_AMOUNT_REQUIRED used segwit flag with old function
BITCOINCONSENSUS_ERR_INVALID_FLAGS invalid script verification flags used## Compatibility
Script verification constants following the naming `BITCOINCONSENSUS_VERIFY_x`
were removed in favor of those following upstreams naming.## To Install:
```
git clone -b v3.0.0 [email protected]:bit-wasp/bitcoinconsensus-php
cd bitcoinconsensus-php/bitcoinconsensus
phpize && ./configure --with-bitcoinconsensus && make && sudo make install
```## (Optional) - Enable the extension by default!
Add this line to your php.ini files to enable the extension in PHP by default.
```
extension=bitcoinconsensus.so
```## Examples
### Get version
```php
echo bitcoinconsensus_version() . PHP_EOL;
```