Skip to content

A simple P2PK, P2PKH, P2SH, P2WPKH, P2WSH output script/address parser/generator.

License

Notifications You must be signed in to change notification settings

alexdnepro/php-bitcoin-address

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP Bitcoin Address

A simple P2PK, P2PKH, P2SH, P2WPKH, P2WSH output script/address parser/generator.

Supported types:

  • Pay-To-PubKey (P2PK)
  • Pay-To-PubKeyHash (P2PKH)
  • Pay-To-Multisig (P2MS)
  • Pay-To-ScriptHash (P2SH)
  • Pay-To-WitnessPubKeyHash (P2WPKH)
  • Pay-To-WitnessScriptHash (P2WSH)
  • P2WPKH-over-P2SH
  • P2WSH-over-P2SH
  • any combination

Supported networks:

  • Bitcoin
  • Bitcoin Testnet
  • Bitcoin Gold
  • Bitcoin Cash
  • Litecoin
  • Litecoin Testnet
  • Dogecoin
  • Dogecoin Testnet
  • Viacoin
  • Viacoin Testnet
  • Dash
  • Dash Testnet
  • Zcash

Installation

composer require andkom/php-bitcoin-address

Examples

Generate a P2PK/P2PKH address:

$address = OutputFactory::p2pk($pubKey)->address(); 
$address = OutputFactory::p2pkh($pubKeyHash)->address(); 

Generate a P2MS address:

$address = OutputFactory::p2ms(2, [$pubKey1, $pubKey2, $pubKey3])->address();

Generate a P2SH address:

$factory = new OutputFactory();
$p2ms = $factory->p2ms(2, [$pubKey1, $pubKey2, $pubKey3]);
$address = $factory->p2sh($p2ms)->address();

Generate a P2WPKH address:

$address = OutputFactory::p2wpkh($pubKeyHash)->address();

Generate a P2WSH address:

$factory = new OutputFactory();
$p2ms = $factory->p2ms(2, [$pubKey1, $pubKey2, $pubKey3]);
$address = $factory->p2wsh($p2ms)->address();

Generate a P2WPKH-over-P2SH address:

$factory = new OutputFactory();
$p2wpkh = $factory->p2wpkh($pubKeyHash);
$address = $factory->p2sh($p2wpkh)->address();

Generate a P2WSH-over-P2SH address:

$factory = new OutputFactory();
$p2ms = $factory->p2ms(2, [$pubKey1, $pubKey2, $pubKey3]);
$p2wsh = $factory->p2wsh($p2ms);
$address = $factory->p2sh($p2wsh)->address();

Generate an address from an output script:

$address = OutputFactory::fromScript($script)->address();

About

A simple P2PK, P2PKH, P2SH, P2WPKH, P2WSH output script/address parser/generator.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%