扩展公钥的推导,适用于 BTC 和 ETH 网络

dev-master 2023-01-28 13:17 UTC

This package is auto-updated.

Last update: 2024-09-28 16:53:31 UTC


README

使用此库可以为 BTC 或 ETH 网络的任何索引推导扩展公钥

支持 xpubtpubvpubzpub

安装

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);