2.1 创建账户

优质
小牛编辑
135浏览
2023-12-01

创建一个新帐户

geth account new

创建一个新帐户并打印地址。

在Console上,使用:

> personal.newAccount("passphrase")

该帐户以加密格式保存。您必须记住这个密码以将来解锁您的帐户。 对于非交互式使用,可以使用--password标志指定密码:

geth --password <passwordfile> account new

请注意,这仅用于测试,将密码保存到文件或以任何其他方式暴露是一个坏主意。

通过导入私钥创建帐户

geth account import <keyfile>

从中导入未加密的私钥,创建一个新帐户并打印地址。 假设密钥文件包含未加密的私钥,其是被编码成十六进制的规范EC原始字节。

该帐户以加密格式保存,系统将提示您输入密码。

您将来必须记住这个密码以解锁您的帐户。

对于非交互式使用,可以使用--password标志指定密码:

 geth --password <passwordfile> account import <keyfile>

注意:由于您可以将加密帐户直接复制到另一个ethereum实例,因此在节点之间传输帐户时不需要此导入/导出机制。

警告:将密钥复制到现有节点的密钥库中时,您使用的帐户顺序可能会更改。因此,您确保不依赖于帐户顺序或双重检查并更新脚本中使用的索引。

警告: 如果您使用带有密码文件的密码标志,最好确保除了您以外的任何人都不可读或甚至可以列出该文件。你可以这样做:

touch /path/to/password
chmod 700 /path/to/password
cat > /path/to/password
>I type my pass here^D

更新现有账户

您可以在命令行上使用帐户地址或索引作为参数的更新子命令来update现有账户。

    geth account update b0047c606f3af7392e073ed13253f8f4710b08b6
    geth account update 2

该帐户以加密格式保存在最新版本中,系统将提示您输入密码以解锁帐户,另一个用于保存更新的文件。使用相同的命令把采用废弃格式的帐户迁移到最新格式或更改帐户的密码。

对于非交互式使用,可以使用--password标志指定密码:

geth --password <passwordfile> account new

由于只能提供一个密码,只能执行格式更新,只有更改密码才能交互。

注意:帐户更新有一个副作用,您的帐户顺序更改。

成功更新后,同一个键的所有旧格式/版本将被删除!