barechain / bitcoin
Bitcoin library with functions for transactions, signatures, serialization, Random/Deterministic ECDSA keys, blocks, RPC bindings
v1.0.1
2022-10-24 17:13 UTC
Requires
- php-64bit: >=8.0
- ext-bcmath: *
- ext-gmp: *
- bitwasp/bech32: ^0.0.1
- bitwasp/buffertools: ^0.5.0
- composer/semver: ^3.2.0
- lastguest/murmurhash: ^2.1.0
- mdanter/ecc: ^1.0
- pleonasm/merkle-tree: 1.0.0
Requires (Dev)
- ext-json: *
- bitwasp/bitcoinconsensus: v3.0.0
- bitwasp/secp256k1-php: ^v0.2.0
- nbobtc/bitcoind-php: v2.0.2
Suggests
- ext-bitcoinconsensus: The bitcoinconsensus library for safest possible script verification
- ext-secp256k1: The secp256k1 library for fast and safe elliptic curve operations
README
This repository contains an implementation of Bitcoin using mostly pure PHP.
Warning: This library does not support 32-bit installations of PHP. Please also note that composer is the only supported installation method.
Installation
You can install this library via Composer: composer require barechain/bitcoin
Documentation
Check out the beginnings of the documentation for the library: [Introduction]
Presently supported:
- Blocks, headers, and merkle blocks and bloom filters
- P2SH & Segregated witness scripts
- An adaptable elliptic-curve library, using [PhpEcc] by default, or libsecp256k1 if the bindings are found
- Support for building, parsing, signing/validating transactions
- Deterministic signatures (RFC6979)
- BIP32 and electrum (older type I) deterministic key algorithms
- BIP39, and the older electrum seed format.
- ScriptFactory for common input/output types, parser, interpreter, and classifiers
- Supports bindings to libbitcoinconsensus
- Bindings to Stratum (electrum) servers