0

我已经使用雪崩网络运行器启动了一个本地雪崩网络,并且我已经使用 geth 成功连接到它:

 ❮❮❮ geth attach ws://127.0.0.1:35260/ext/bc/C/ws
Welcome to the Geth JavaScript console!

instance: v0.8.4-rc.3
coinbase: 0x0100000000000000000000000000000000000000
at block: 0 (Wed Dec 31 1969 18:00:00 GMT-0600 (CST))
 modules: eth:1.0 net:1.0 rpc:1.0 web3:1.0

To exit, press ctrl-d or type exit

我正在尝试将交易从一个帐户发送到另一个帐户。我发现这个雪崩网络预种子帐户 0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC 基于此评论和一些 ETH 并使用 geth 确认:

> eth.getBalance("0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52Fc")
5e+25

但是,当我尝试从该帐户发送交易时,它失败了:

> eth.getBalance("0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52Fc")
5e+25
> eth.sendTransaction({from:"0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC", to:"0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FD", value: web3.toWei(0.05, "ether")})
Error: unknown account
        at web3.js:6365:37(47)
        at send (web3.js:5099:62(35))
        at <eval>:1:20(15)

我怀疑这是因为我在帐户列表中没有该帐户:

> eth.accounts
[]

我尝试使用导入帐户,geth account import <path to keyfile>但这并没有导致eth.accounts输入。

我也尝试过使用该personal.importRawKey功能,但这也不起作用:

> personal.importRawKey("56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027", "lol")
Error: the method personal_importRawKey does not exist/is not available
        at web3.js:6365:37(47)
        at send (web3.js:5099:62(35))
        at <eval>:1:22(5)

> personal
{
  listAccounts: undefined,
  ecRecover: function(),
  getListAccounts: function(callback),
  importRawKey: function(),
  lockAccount: function(),
  newAccount: function github.com/ethereum/go-ethereum/internal/jsre.MakeCallback.func1(),
  openWallet: function github.com/ethereum/go-ethereum/internal/jsre.MakeCallback.func1(),
  sendTransaction: function(),
  sign: function github.com/ethereum/go-ethereum/internal/jsre.MakeCallback.func1(),
  unlockAccount: function github.com/ethereum/go-ethereum/internal/jsre.MakeCallback.func1()
}
  1. 我需要导入此帐户吗?如果是这样,怎么做?
  2. 如何使用 avalanche 网络运行者的默认资助地址在本地 avalanche 网络上使用 geth 发送交易?
4

1 回答 1

0

事实证明,我在导入私钥方面走在了正确的轨道上,但我必须personal在 avalanche 节点中启用命名空间。

可以通过添加internal-private-personal到节点使用的C 链配置来启用个人命名空间。

启用此命名空间后,您可以使用 geth 和 issue 连接到您的节点

> personal.importRawKey("56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027", "lol")
"0x8db97c7cece249c2b98bdc0226cc4c2a57bf52fc"
> personal.unlockAccount("0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC", "lol", 300)

然后启用帐户进行支出。

于 2022-03-02T14:44:23.677 回答