如何使用 truffle 创建一个以太坊帐户(不是在控制台模式下)
How to create an ethereum account using truffle ( not in the console mode )
我正在使用 truffle 在以太坊中编译和部署智能合约,为此我需要创建一些帐户来与智能合约进行交互。
帐户的创建总是使用 truffle 中的命令行进行,如下所示:
truffle console
web3.personal.newAccount('verystrongpassword')
web3.eth.getBalance('0x95a94979d86d9c32d1d2ab5ace2dcc8d1b446fa1')
web3.personal.unlockAccount('0x95a94979d86d9c32d1d2ab5ace2dcc8d1b446fa1', 'verystrongpassword', 15000)
有没有一种方法可以将此代码放入脚本中 (javascript) 并 运行 它与 truflle 一起使用而不需要命令行
谢谢!
Truffle 控制台 是 一个交互式 JavaScript 控制台。您在控制台中可以做的任何事情都可以在另一个 JavaScript 环境中完成。实施细节会根据您是否 运行 在 browser/Node 环境中以及您连接到的以太坊节点提供商而变化。
web3js 0.20.x 有点棘手,因为出于安全原因,web3.personal
库在您的客户端中并不总是可用(这取决于您是否通过以下方式连接到本地节点IPC 或 RPC 以及该节点启用了哪些 API。详见 Geth Management API documentation)。
如果您使用 web3js 1.0.0,会容易得多。在该版本中,他们在 web3.eth.accounts
中引入了允许您创建新帐户的功能。
我正在使用 truffle 在以太坊中编译和部署智能合约,为此我需要创建一些帐户来与智能合约进行交互。
帐户的创建总是使用 truffle 中的命令行进行,如下所示:
truffle console
web3.personal.newAccount('verystrongpassword')
web3.eth.getBalance('0x95a94979d86d9c32d1d2ab5ace2dcc8d1b446fa1')
web3.personal.unlockAccount('0x95a94979d86d9c32d1d2ab5ace2dcc8d1b446fa1', 'verystrongpassword', 15000)
有没有一种方法可以将此代码放入脚本中 (javascript) 并 运行 它与 truflle 一起使用而不需要命令行
谢谢!
Truffle 控制台 是 一个交互式 JavaScript 控制台。您在控制台中可以做的任何事情都可以在另一个 JavaScript 环境中完成。实施细节会根据您是否 运行 在 browser/Node 环境中以及您连接到的以太坊节点提供商而变化。
web3js 0.20.x 有点棘手,因为出于安全原因,web3.personal
库在您的客户端中并不总是可用(这取决于您是否通过以下方式连接到本地节点IPC 或 RPC 以及该节点启用了哪些 API。详见 Geth Management API documentation)。
如果您使用 web3js 1.0.0,会容易得多。在该版本中,他们在 web3.eth.accounts
中引入了允许您创建新帐户的功能。