<?php
// 引入必要的加密库
use BitWasp\Bitcoin\Key\Factory\PrivateKeyFactory;
use BitWasp\Bitcoin\Address;
use BitWasp\Bitcoin\Key\Factory\PublicKeyFactory;
use BitWasp\Bitcoin\Script\ScriptFactory;
use BitWasp\Bitcoin\Network\NetworkFactory;
// 初始化比特币网络
$network = NetworkFactory::bitcoin();
// 生成新的私钥
$privateKey = PrivateKeyFactory::fromWif('KwYgW8SY86pobFwGBWhZpdefzTkY1fLGnQbTEZU2XeSnV3vzvR4g');
// 从私钥导出公钥
$publicKey = PublicKeyFactory::fromPrivateKey($privateKey);
// 从公钥导出比特币地址
$address = Address::fromPublicKey($publicKey, $network);
// 打印结果
echo "私钥:" . $privateKey->getHex() . "\n";
echo "公钥:" . $publicKey->getHex() . "\n";
echo "地址:" . $address->getAddress() . "\n";
// 创建一个P2PKH(pay-to-public-key-hash)的交易输出
$p2pkhScript = ScriptFactory::payToPubKeyHash($publicKey->getPublicKeyHash());
echo "P2PKH脚本:" . $p2pkhScript->getHex() . "\n";
这段代码展示了如何在PHP中使用bitwasp/bitcoin
库来生成一个新的比特币私钥、公钥和地址,以及如何创建一个P2PKH类型的交易输出脚本。这是学习和实践区块链技术的一个基本入门示例。