【问题标题】:Not able to create accounts for Private Ethereum Blockchain using Geth and Web3 API无法使用 Geth 和 Web3 API 为私有以太坊区块链创建帐户
【发布时间】:2016-12-23 07:25:57
【问题描述】:

我无法使用 Geth 和 Web3 API 为私有以太坊区块链创建帐户。 personal.newAccount(passwd) 不适合我。请解释如何使用上述命令创建帐户。 而且,我无法安装“ethereumjs-accounts”。

【问题讨论】:

  • 请提供更多详细信息,说明您尝试了什么以及出了什么问题。如果您不改进它,这个问题可能会被删除并且不会得到回答。

标签: ethereum


【解决方案1】:

如果您尝试在互联网上搜索“geth json rpc 个人 api”为什么不起作用,您将find an excellent answer on Ethereum Stack Exchange 我想完整引用:

首先,关于安全的说明:

您不应通过 RPC 提供 personal API

如果您在本地受信任的计算机上,则应使用 IPC 而不是 RPC。否则,任何可以通过 RPC 连接到您的节点的人都可以尝试暴力破解您的密码并窃取您的 Ether。

默认情况下,所有管理 API 都可通过 IPC 使用,因此无需在 geth 中使用任何标志

通过 IPC 连接:

安装我的库: npm install web3_extended

var web3_extended = require('web3_extended');

var options = {
  host: '/home/user/.ethereum/geth.ipc',
  ipc:true,
  personal: true, 
  admin: false,
  debug: false
};

var web3 = web3_extended.create(options);

web3.personal.newAccount("password",function(error,result){
    if(!error){
        console.log(result);
    }
});

host 变量替换为适合您系统的路径。

注意:所有通过 IPC 的请求都必须是异步的。


一些替代方案:

我不知道您为什么要通过 web3 创建新帐户,但这可能不是您想要实现的最佳方式。将hooked web3 provider 与客户端light wallet 一起使用或简单地使用为您处理所有帐户的Mist browser 会更加安全和模块化。

现在介绍技术(不要这样做)

您需要通过 RPC 启用 personal API。通过使用开始 geth 来做到这一点

geth --rpc --rpcapi "db,eth,net,web3,personal"

然后您可以通过 RPC 使用personal_newAccount 方法。 web3.js 中没有实现,所以需要手动发出 RPC 请求。以 curl 为例:

curl -X POST --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":["password"],"id":1}' localhost:8545

使用密码password创建一个新帐户并返回地址:

{"id":1,"jsonrpc":"2.0","result":"0x05ca0ddf7e7506672f745b2b567f1d33b7b55f4f"} 还有一些basic documentation

或者: 使用非官方的extended web3.js

  • 这允许您通过标准 web3.js 接口使用 personaladminminer API。

Feb 16 at 8:34 上发布并在CC BY-SA 3.0 的条款下由Tjaden Hess 发布。

【讨论】:

    【解决方案2】:

    命令必须是personal.newAccount()

    然后控制台要求输入密码,提供您所需的密码,然后再次要求确认。

    会出现Address("0x----------------------------")形式的输出。它是1个账户/address 为您的专用网络。

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 2021-09-29
      • 2018-11-04
      • 2018-06-23
      • 2019-11-26
      • 2022-07-19
      • 2017-08-07
      • 2019-04-23
      • 2022-10-21
      相关资源
      最近更新 更多