3.以太坊之秘钥文件

1.账号

  账号在以太坊中扮演着核心的角色.以太坊共有两种账号类型: 外部账号( EOA) 和合约账号.

  在这里我们先重点关注外部账号,简称账号.合约账号简称合约,合约账户在合约章节中详细介绍.

外部账户和合约账户都是账户的通用概念,这些账户其实都是状态对象.外部账户的余额就是外部账户的一个状态对象,合约账户的状态除了有余额还有合约存储.

所有账户的状态都是以太坊网络的状态,以太坊网络的状态随着每一个区块的更新而变化.用户通过交易和以太坊区块链进行交互,在这个过程中,账户起着至关重要,不可缺少的作用.

  如果限制以太坊只有外部账号,并且限制它们只能交易,那么我们就是只做了一个山寨币,而且是只能交易以太币( ether).

  账号代表了使用者的一个对外的身份,用户使用公钥去签名一个交易,然后以太虚拟机就可以安全的校验这交易发起者的身份.

 

2.秘钥文件

  每一个账号都有一对密钥,一个私钥和一个公钥.

  账号和地址是一一对应的. 账号被来自密钥的最后20个字节的地址索引着.每一个私钥/地址对都被编码进一个密钥文件. 密钥文件是一个 json 格式的文本文件.

可以用任何的文本工具打开和编辑它.密钥文件的重要组成部分----你账号的私钥,是使用你在创建账号时输入的密码来加密保护的.密钥文件存储在你的以太坊客户端 keystore 子目录中.确保定期备份你的 Key文件.

  创建一个密钥等同于创建一个账号!

  (你不需要告诉别人你创建了一个账号, 你不需要和区块链进行同步, 你不需要运行一个客户端, 你甚至不需要联网.)

 

  当然你的新账户不会有以太币.但它只属于你,没有你的密钥文件和密码,其他人甚至都不能访问它.

注意: 当你把一个来自其他节点的密钥文件添加进你自己的节点的时候,账户的顺序有可能发生变化,所以在编写代码或脚本的时候,最好不要使用账户的索引顺序来标示一个账号.

 

3.创建账户

  在创建账户之前,要注意:一定要记住你的密码和备份你的密钥文件!!!

  因为发送交易,甚至发送以太币都是必须要同时使用到你的密码和密钥文件的.所以一定切记备份好你的密钥文件和密码,把它们备份到

一个绝对安全的地方.

  丢失了密钥文件或密码,那你账户中的所有的以太币也就全部都丢失了.没有密码是绝对无法访问你的账户的. 并且以太坊没有.

"忘记密码" "找回密码" 这一工能.

  1.图形化创建账户

  2. geth 控制台创建

 

4.开发的时候都在测试网络下

mac下 切换网络

登录后的界面:

 

各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"宅男门诊"
posted @ 2017-08-08 17:10  农民阿姨  阅读(5103)  评论(0编辑  收藏  举报