首先,使用PHP生成比特币BTC地址需要你引入第三方的composer包,composer.json配置如下

{
    "require": {
        "bitwasp/bitcoin": "^1.0",
        "iexbase/tron-api": "^4.0",
        "bitwasp/buffertools": "^0.5.7",
        "stephenhill/base58": "^1.1",
        "kornrunner/keccak": "^1.1",
        "web3p/web3.php": "^0.3.2",
        "elliptic/elliptic-sdk": "^0.8.0",
        "ramsey/uuid": "^3.9"
    }
}

然后运行命令composer install安装composer依赖包。
创建一个btc.php文件,代码如下:

<?php

require 'vendor/autoload.php';

use BitWasp\Bitcoin\Bitcoin;
use BitWasp\Bitcoin\Key\Factory\PrivateKeyFactory;
use BitWasp\Bitcoin\Address\PayToPubKeyHashAddress;
use BitWasp\Bitcoin\Address\ScriptHashAddress;
use BitWasp\Bitcoin\Address\SegwitAddress;
use BitWasp\Bitcoin\Crypto\Random\Random;
use BitWasp\Bitcoin\Network\NetworkFactory;
use BitWasp\Bitcoin\Script\ScriptFactory;
use BitWasp\Bitcoin\Script\WitnessProgram;
use BitWasp\Bitcoin\Key\KeyToScript\Factory\P2pkhScriptDataFactory;

class BTC {
    public function generateWallet() {
        try {
            Bitcoin::setNetwork(NetworkFactory::bitcoin());
            $factory = new PrivateKeyFactory();
            $random = new Random();
            $privateKey = $factory->generateCompressed($random);
            $privateKeyHex = $privateKey->getHex();
            $publicKey = $privateKey->getPublicKey();
            $publicKeyHex = $publicKey->getHex();
            
            // 生成P2PKH地址(最常用的BTC地址格式)
            $p2pkhAddress = new PayToPubKeyHashAddress($publicKey->getPubKeyHash());
            $p2pkhAddressString = $p2pkhAddress->getAddress();
            
            // 生成P2SH地址(Pay-to-Script-Hash)
            $p2pkhScript = ScriptFactory::scriptPubKey()->p2pkh($publicKey->getPubKeyHash());
            $p2shAddress = new ScriptHashAddress($p2pkhScript->getScriptHash());
            $p2shAddressString = $p2shAddress->getAddress();
            
            // 生成Bech32地址(SegWit)
            $witnessProgram = WitnessProgram::v0($publicKey->getPubKeyHash());
            $segwitAddress = new SegwitAddress($witnessProgram);
            $segwitAddressString = $segwitAddress->getAddress();
        } catch (Exception $e) {
            echo "发生错误: " . $e->getMessage();
        }
        
        echo 'P2PKH地址:' . $p2pkhAddressString . '<br>';
        echo 'P2SH地址:' . $p2shAddressString . '<br>';
        echo 'Bech32地址:' . $segwitAddressString . '<br>';
        echo '公钥:' . $publicKeyHex . '<br>';
        echo '私钥:' . $privateKeyHex . '<br>';
    }
}

$btc = new BTC();
//循环生成100个钱包
for ($i = 0; $i < 100; $i++) {
    $btc->generateWallet();
    echo '<hr />'
}

访问这个btc.php文件,就可以一次性生成100个比特币钱包地址了。