一个节点创建的账户地址,为什么不能在另一个节点上使用?
发布于 6 天前 作者 yuni2017 67 次浏览 来自 以太坊

我在节点1上,创建了一个账户, 然后在节点2上发送一笔交易,指定的from地址是节点1上创建的。

运行报错,提示:Account unknown.

4 回复

节点2的账户下面是没有你节点1的账户, 你这样理解,可能把账本交易记录的中的账户和外部账户(EOA)搞混了. 如果节点2的账户列表下要存在节点1的账户,我估计可以通过账户导入实现. 查询账户列表可以在console 下输入命令: personal.listAccounts

> personal.listAccounts
["0xfd24e22ba4788b747146268a2cff55979e6f1545"]
> 

@leonzhao 按理说,以太坊是一个集群,各个节点之间相互连接,再加上以太坊所有节点中,每个节点都存放了所有的数据。应该是知道所有账户,所有地址的?

你是指的账本上记录的账户, 不是外部账户. 你可以参考下这个 账户管理

节点1创建的账户,会在节点1的机器上保存一个密钥的文件,你需要把这个包含密钥的文件倒入到节点2中,才能在节点2上操作这个账户。 并不是说不能在节点2上操作,而是需要把带有密钥的文件倒入到节点2才行。 请参考文档中的描述: http://ethdoc.cn/account-management.html#keyfiles 以下内容摘自上面这个链接: 加密文件 (Keyfiles) 每个账户都是由一对钥匙组成:公钥和私钥。账户以它的地址作为索引,地址通过公钥末尾的20字节生成。每一个私钥/地址对都被编码为keyfile。Keyfiles是可以被文字编辑器进行编辑的明文JSON格式,文件中的关键组件:密钥,始终是被加密的,它被用你创建账户时输入的那个密码所加密。Keyfiles杯保存在你以太坊节点的子目录 keystore 中。请确保经常备份你的keyfiles!更多关于备份的信息,请查阅: 备份和恢复账号。 创建钥匙等同于创建一个账户。

  • 你无需告诉任何人你做了它
  • 你无需和区块链进行同步
  • 你无需运行一个客户端
  • 你甚至无需连接到网络上 当然,你的新账户中不会包含一点以太币,但是它是属于你的,可以确定的是没有你的钥匙和密码,任何人都不能访问它。 在以太坊节点间转移整个目录或者单独的keyfile是安全的。
回到顶部