【eos系列】账户 & 钱包 & 私链搭建

简介

本篇文章,将跟大家介绍eos的基本入门操作,包括私链的搭建、如何创建钱包、如何创建账户等。大家在看完本章之后,应该能在本机上搭建好eos私链,学会创建钱包和账户,为后面做质押资源、转账、投票等基本操作做准备了。

私链搭建

第一步,下载eos代码库。

由于文件较大,大家需要预留20G以上的空间用于安装eos节点。下载库及依赖库时间较长,请耐心等待。

git clone https://github.com/EOSIO/eos --recursive

第二步,下载完成后,请切换到最新的release版本。

cd eos

git tag 

git checkout <tag>

在这里查看eos的最近release版本:https://github.com/EOSIO/eos/releases

第三步,执行自动编译安装。

cd eos

./eosio_build.sh -s EOS

参数解释:-s 指定系统主币名称,不加默认是SYS

注意:编译过程中,可能出现本机cmake的各种依赖没有安装,导致编译失败的情况。请按照提示安装各种依赖,不明白的地方可以去github查找issue

第四步,安装完毕后,为了运行智能合约,还需要执行

cd eos/build

sudo make install

第五步,安装完毕后,首次运行节点,执行

nodeos

第一次运行会报错,因为没有生成config.ini配置文件。即使成功启动,因为私链没有配置成打包区块的节点,不能进行交易。crtl+c退出,看下一步

第六步,修改eos配置文件。

eos的配置文件,根据不同的操作系统默认放在以下目录,有config.ini和genesis.json文件

mac os:~/Library/Application\ Support/eosio/nodeos/config

linux:~/.local/share/eosio/nodeos/config

一般来说,config.ini可以采用系统默认生成的配置文件,但是为了能在私链上更好的体验eos的操作特性,我建议config.ini做如下的修改

// 将私链设置为全节点,会同步所有数据

filter-on = *      

 // 为了存全节点数据,将数据库存储加大,默认是1024

chain-state-db-size-mb = 102400  

 // 将私链设置为区块打包节点

enable-stale-production = true  

// 一开始默认的打包区块的账户是系统账户eosio

producer-name = eosio  

 // 换成eosio的公私钥对,用于确认块的签名,如何获取公私钥对将在钱包章节讲述

signature-provider = <public key>=KEY:<private key> 

// 开启如下的插件,方便体验链上的功能

plugin = eosio::producer_plugin

plugin = eosio::wallet_api_plugin

plugin = eosio::chain_api_plugin

plugin = eosio::chain_plugin

plugin = eosio::http_plugin

plugin = eosio::history_api_plugin

plugin = eosio::history_plugin

genesis.json文件,不会默认生成,我推荐采用如下的配置:

{

    "initial_timestamp": "2018-06-08T08:08:08.888",

    "initial_key": "EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3",          "initial_configuration": {

        "max_block_net_usage": 1048576,

       "target_block_net_usage_pct": 1000,

       "max_transaction_net_usage": 524288,

       "base_per_transaction_net_usage": 12,

       "net_usage_leeway": 500,

      "context_free_discount_net_usage_num": 20,

      "context_free_discount_net_usage_den": 100,

      "max_block_cpu_usage": 200000,

      "target_block_cpu_usage_pct": 1000,

      "max_transaction_cpu_usage": 150000,

      "min_transaction_cpu_usage": 100,

      "max_transaction_lifetime": 3600,

     "deferred_trx_expiration_window": 600,

     "max_transaction_delay": 3888000,

     "max_inline_action_size": 4096,

     "max_inline_action_depth": 4,

     "max_authority_depth": 6

    }

}

修改完配置文件之后,再次执行第5步启动节点。

- 启动时,可以使用--config-dir指定配置文件目录,目录下必须有config.ini和genesis.json文件

- 可以使用--data-dir指定区块数据存储的目录

nodeos  --config-dir <config dir>  --data-dir <data dir>

- 区块数据存储目录,默认

mac os:~/Library/Application Support/eosio/nodeos/data

linux:~/.local/share/eosio/nodeos/data

完成以上几步,私链启动。eos为我们提供了一个命令行客户端cleos与节点通信。我们可以调用cleos查看私链产块情况,执行

cleos get info

 

钱包

搭建好私链后,我们可以开始进行eos的相关操作,首先我们应该创建一个钱包。钱包指的是存放账户公私钥的地方,在创建账户前,需要先创建一个钱包用来管理账户的公私钥。同样,我们通过cleos完成钱包相关操作

1)创建钱包,然后保存返回的钱包密码

cleos wallet create -n <wallet name>

 

2)查看所有的钱包,执行

cleos wallet list

其中,后面带*的钱包,是处于打开状态的,我们可以使用钱包的私钥发交易

3)钱包长时间不用,就会被锁定,交易不能发送,此时需要解锁钱包

cleos wallet unlock -n <wallet name>  --password <wallet password>

4)创建的新钱包,默认都会将系统账户eosio的公私钥对导入,我们可以执行命令查看,需要输入钱包密码

cleos wallet private_keys

目前,钱包常用的就这些命令,其他的命令,可以执行 cleos wallet 获取帮助详情

账户

eos的操作,包括转账、智能合约部署等,都是账户之间的行为。因此,首先要创建一个账户,然后再进行转账等行为。系统默认会创建系统账户eosio,由于我们有eosio的公私钥对,可以直接对eosio账户进行操作。

1)创建账户前,需要先生成公私钥对,执行命令,执行两次

cleos create key

结果如下:

我们得到了两个公私钥对,这两个公私钥对用于分别对应账户的两个基本权限owner、active,这两个权限是创建账户时必须要赋予的基本权限。之后,账户以某个权限发送交易时,都需要使用对应权限的私钥签名

owner 是账户的管理员权限,可以用来控制和恢复账户的其他权限

active 是账户的普通权限,用来转账、质押资源、投票等操作的权限

一个公私钥对可以应用于多个权限。推荐的是owner和active权限的公私钥对不同,为了账户安全

2)将私钥导入钱包保管

cleos wallet import -n <wallet name> --private-key <private key>

3. 创建账户,我们通过系统账户eosio创建一个新账户user,将上面生成的两个公私钥对分别作为user的owner、active权限对应的公私钥对

cleos create account eosio user <owner's public key>  <active's public key>

eos账户的命名规则是:最大长度12个字符,且只能包含.12345abcdefghijklmnopqrstuvwxyz等字符

结束语

本篇教会了大家怎么搭建私链,介绍了钱包、账户的基本命令。心急的读者可能会问,我要怎么在eos私链上发交易?别走开,下一篇我会跟大家讲,如何激活私链、智能合约的部署、转账等基本交易怎么发送。


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值