使用 geth 在本地 avalanche 节点上发送交易
Send transaction on local avalanche node using geth
我已经使用 avalanche network runner 启动了一个本地雪崩网络,并且我已经使用 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 有一些基于 this comment 的 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()
}
- 我需要导入这个账号吗?如果是,怎么做?
- 如何使用 avalanche 网络运行器的默认资助地址在本地 avalanche 网络上使用 geth 发送交易?
事实证明我在导入私钥方面走在了正确的轨道上,但我必须在 avalanche 节点中启用 personal
命名空间。
可以通过将 internal-private-personal
添加到节点正在使用的 C Chain config 来启用个人命名空间。
启用此命名空间后,您可以使用 geth 连接到您的节点并发布
> personal.importRawKey("56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027", "lol")
"0x8db97c7cece249c2b98bdc0226cc4c2a57bf52fc"
> personal.unlockAccount("0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC", "lol", 300)
然后启用帐户进行支出。
我已经使用 avalanche network runner 启动了一个本地雪崩网络,并且我已经使用 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 有一些基于 this comment 的 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()
}
- 我需要导入这个账号吗?如果是,怎么做?
- 如何使用 avalanche 网络运行器的默认资助地址在本地 avalanche 网络上使用 geth 发送交易?
事实证明我在导入私钥方面走在了正确的轨道上,但我必须在 avalanche 节点中启用 personal
命名空间。
可以通过将 internal-private-personal
添加到节点正在使用的 C Chain config 来启用个人命名空间。
启用此命名空间后,您可以使用 geth 连接到您的节点并发布
> personal.importRawKey("56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027", "lol")
"0x8db97c7cece249c2b98bdc0226cc4c2a57bf52fc"
> personal.unlockAccount("0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC", "lol", 300)
然后启用帐户进行支出。