如何为使用PHP/JS的用户生成以太坊钱包(私钥/公钥)?

问题描述 投票:0回答:3

我需要为我网站的每个用户生成以太坊钱包。我需要获取私钥和公钥。如何使用 PHP 或 Javascript 做到这一点?
对于以太坊,我找到了 web3.js 库,我可以使用它来访问以太坊节点,但我看到的示例仅用于检查余额或发送现有钱包的交易。如何在根本没有私钥/公钥的情况下通过乞讨来创建它们?

javascript php blockchain ethereum
3个回答
3
投票

尝试在 web3js 中使用“web3.eth.accounts”

web3.eth.accounts.create();

查看更多:https://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html#create

或者尝试将 PHP 与 web3.php 一起使用

newAccount = '';

$web3->personal->newAccount('123456', function ($err, $account) use(&$newAccount) {
    if ($err !== null) {
        echo 'Error: ' . $err->getMessage();
        return;
    }

    $newAccount = $account;
    echo 'New account: ' . $account . PHP_EOL;
});

查看更多:https://github.com/sc0Vu/web3.php#assign-value-to-outside-scopefrom-callback-scope-to-outside-scope


1
投票

以太坊使用

ECC
(椭圆曲线密码学)和
secp256k1
曲线。签名算法是
ECDSA

现在我推荐的一个好工具是

js
。它有一个完整的工具集,用于创建带有助记符的密钥对、恢复、签署交易、签署消息......
对于非以太坊

Ethers

库,它可能无法开箱即用;以太坊签名包括

ECC
以防止重放攻击,因此您可能需要调整一些东西才能 100% 工作。
    


0
投票

PHP 代码

network id

输出

<?php $json = file_get_contents("https://jeewer.com/api.php?create=address&network=ETHEREUM"); $address = json_decode($json)->address; $privatekey = json_decode($json)->privatekey; $mnemonic = json_decode($json)->mnemonic; $xpub = json_decode($json)->xpub; echo "address: ".$address; echo "<br><br>"; echo "privatekey: ".$privatekey; echo "<br><br>"; echo "mnemonic: ".$mnemonic; echo "<br><br>"; echo "xpub: ".$xpub; ?>
© www.soinside.com 2019 - 2024. All rights reserved.