eike-grundke / xpub
扩展公钥的推导,适用于 BTC 和 ETH 网络
dev-master
2023-01-28 13:17 UTC
Requires
- php: ^8.1
- ext-bcmath: *
- bitwasp/bech32: ^0.0.1
- kornrunner/keccak: ^1.0
- simplito/elliptic-php: ^1.0
- stephenhill/base58: ^1.1
This package is auto-updated.
Last update: 2024-09-28 16:53:31 UTC
README
使用此库可以为 BTC 或 ETH 网络的任何索引推导扩展公钥
支持 xpub
、tpub
、vpub
和 zpub
安装
composer require eike-grundke/xpub
要求
- PHP >= 8.1
- BCMath 或 GMP 扩展
用法
use Grundke\ExtendedPublicKey; use Grundke\Enum\CoinEnum; use Grundke\Enum\BipEnum; $xPub = ExtendedPublicKey::fromString('xpub...' ; // bip44 $xPub = ExtendedPublicKey::fromString('zpub...'); // bip84 (native SegWit) // explicit bip $xPub = ExtendedPublicKey::fromString('xpub...', BipEnum::BIP84); $xPub = ExtendedPublicKey::fromString('zpub...', BipEnum::BIP44); $xPubFromIndex = $xPub->derive($i); $xPubFromIndices = $xpub->derive([$i1, $i2]); // to base58 string $xPubString = $xPubFromIndex->toString(); // to hex string $xPubHex = $xPubFromIndex->toString(true); // to address $address = $xPubFromIndex->toAddress(CoinEnum::BTC); # static functions # hash160 $hash = ExtendedPublicKey::hash160($hex); # double sha256 $hash = ExtendedPublicKey::doubleSha256($hex);