decred / decred-php-api
Decred加密货币的PHP API
v0.0.2
2019-08-01 21:19 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.3
- mdanter/ecc: ^0.4.0
- stephenhill/base58: ^1.1
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-29 06:02:28 UTC
README
Decred加密货币的PHP API
安装
将composer包添加到您的项目中
composer require decred/decred-php-api
请确保已安装 GMP PHP扩展。在ubuntu上
sudo apt install php7.0-gmp
从仓库
您还可以使用以下命令克隆git包
git clone https://github.com/decred/decred-php-api.git
但是您仍然需要使用 composer 来获取库依赖项。
composer install --no-dev
别忘了包含composer自动加载器。
include __DIR__.'/../vendor/autoload.php';
使用示例
库具有广泛的功能,因此您可以在 examples 库中找到使用示例或查看PHPUnit测试。
生成种子
首先,我们需要获取网络实例以开始使用库。
$testnet = \Decred\TestNet::instance();
相应地是主网
$mainnet = \Decred\MainNet::instance();
现在让我们生成一个种子,该种子也将用于测试网。默认账户和分支地址将派生以验证种子。
$seed = \Decred\Crypto\ExtendedKey::generateSeed($testnet);
HD钱包
当我们有可用的种子时,我们可以创建HD主密钥。
$master = \Decred\Crypto\ExtendedKey::newMaster($seed, $testnet);
newMaster 方法将返回具有用于处理HD钱包的变体API的 ExtendedKey 对象。
ExtendedKey::privateChildKey($index)
从父HD私钥派生HD私子密钥,返回 ExtendedKey 对象。
ExtendedKey::hardenedChildKey($index)
从父HD私钥派生HD硬子密钥,返回 ExtendedKey 对象。
不能从HD公钥派生。
ExtendedKey::publicChildKey($index)
从父HD私钥或公钥派生HD公子密钥,返回 ExtendedKey 对象。
ExtendedKey::neuter
验证扩展密钥是否为公钥,返回 ExtendedKey 对象。
默认账户
使用这些基本方法,我们可以根据 BIP44 派生默认账户的HD私钥和公钥。
HD路径 (m\44'\42'\0')
$defaultAccountPrivateKey = $master ->hardenedChildKey(44) ->hardenedChildKey(42) ->hardenedChildKey(0); $defaultAccountPublicKey = $master->neuter();
ExtendedKey 实现了 __toString() 方法,因此您可以轻松地获取HD密钥的Base58表示形式。
echo sprintf("Default account HD private key: %s\n", $defaultAccountPrivateKey); echo sprintf("Default account HD public key: %s\n", $defaultAccountPublicKey);
从默认账户,我们可以派生0分支和0索引,并获取默认地址。
$defaultAddress = $defaultAccountPublicKey ->publicChildKey(0) ->publicChildKey(0) ->getAddress(); echo sprintf("Default address: %s\n", $defaultAddress);