使用PHP生成以太坊ETH地址
首先,使用PHP生成以太坊ETH地址需要你引入第三方的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依赖包。
创建一个eth.php文件,代码如下:
<?php
require 'vendor/autoload.php';
use Web3\Web3;
use Web3\Contract;
use Web3p\EthereumTx\Transaction;
use Web3\Utils;
use kornrunner\Keccak;
use Elliptic\EC;
class ETH {
//生成钱包
public function generateWallet() {
try {
$ec = new EC('secp256k1');
$key = $ec->genKeyPair();
$privateKey = $key->getPrivate('hex');
$publicKey = $key->getPublic(false, 'hex');
$publicKeyHex = substr($publicKey, 2);
$publicKeyBin = hex2bin($publicKeyHex);
$publicKeyHash = Keccak::hash($publicKeyBin, 256);
$address = '0x' . substr($publicKeyHash, -40);
} catch (Exception $e) {
echo "发生错误: " . $e->getMessage();
}
echo '钱包地址:' . $address . '<br>';
echo '公钥:' . $publicKey . '<br>';
echo '私钥:' . $privateKey . '<br>';
}
}
$eth = new ETH();
//循环生成100个钱包
for ($i = 0; $i < 100; $i++) {
$eth->generateWallet();
echo '<hr />'
}访问这个eth.php文件,就可以一次性生成100个以太坊钱包地址了。