前言

EOS官方推荐使用Docker来安装EOS,所以我们接下来的演示环境也切换到了Docker下操作。

1、启动本地私有链

$sudodockerrun--rm--nameeosio-d-p8888:8888-p9876:9876-v/tmp/work:/work-v/tmp/eosio/data:/mnt/dev/data-v/tmp/eosio/config:/mnt/dev/configeosio/eos-dev/bin/bash-c"nodeos-e-peosio--plugineosio::wallet_api_plugin--plugineosio::wallet_plugin--plugineosio::producer_plugin--plugineosio::history_plugin--plugineosio::chain_api_plugin--plugineosio::history_api_plugin--plugineosio::http_plugin-d/mnt/dev/data--config-dir/mnt/dev/config--http-server-address=0.0.0.0:8888--access-control-allow-origin=*--contracts-console"

722167fd21f24f315e3e00a66faeedfbc212db4ed7aa84774417a058ca2482b3默认解锁时间为900s,即15分钟后解锁过期]

4、创建公私钥

公私钥用于管理账户,账户归属谁,最终认私钥。

$cleoscreatekey

Privatekey:5Jrnorj8fNbQdiQAELDiwJzh7BTATntbYEjLDGgw7psQXKs6TNg

Publickey:EOS7je26gtYggvufrSEY38egVk9ssBQF9Go5FrKtXqQgLNDt7rQDYyangxm账户

5、查看当前钱包导入的私钥对应的公钥

因为当前EOS是,会有个默认的公钥,后去除了,为空才是正常情况。

$cleoswalletkeys["EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV"]

6、用公钥创建账户

钱包必须处于解锁状态才能创建账户。

创建ouyang,作为合约创建账户。

$cleoscreateaccounteosioouyangEOS7je26gtYggvufrSEY38egVk9ssBQF9Go5FrKtXqQgLNDt7rQDY

executedtransaction:690a40054f8cbbef3057a801dd9b6b82543961b21bdc4e880a32d8b2ed05e6f9200bytes411us

eosio=eosio::newaccount{"creator":"eosio","name":"yangxm","owner":{"threshold":1,"keys":[{"key":"EOS7jfrangqG5R7Gn5YvEk3Um7

创建vsiryxm,作为普通用户账户,用于转账测试。

$cleoscreateaccounteosiovsiryxmEOS7jfrangqG5R7Gn5YvEk3Um7t1hBDaTPFPacjpSEcWbyGARS7P6

executedtransaction:ead5c5708857cee68c084aae971fc020d9502024088539b34aa10e9e62b46574200bytes642us

创建过ouyang账户$cleoswalletimport-nsimon5JJjmQKveVZmHNGPW9j7prWR1dxSUcg87hePBdZjQgMkLyWpyygimportedprivatekeyfor:EOS7jfrangqG5R7Gn5YvEk3Um7t1hBDaTPFPacjpSEcWbyGARS7P6新增的"EOS7jfrangqG5R7Gn5YvEk3Um7t1hBDaTPFPacjpSEcWbyGARS7P6"eosio=eosio::setcode{"account":"ouyang","vmtype":0,"vmversion":0,"code":"0061736d01000000017e1560037f7e7f0060057f7e7e7f7ouyang=ouyang::create{"issuer":"eosio","maximum_supply":"1000000000.0000CBT"}

10、将代币总量转给发行方

$cleospushactionouyangissue'["yangxm","1000000000.0000CBT","ouyang转给发行方yangxm"]'-peosioexecutedtransaction:e0e3cbed0512309ea1215a06531809425699b32864d0e459cfcd9eac5b46a6b8144bytes2008usouyang=ouyang::transfer{"from":"eosio","to":"yangxm","quantity":"1000000000.0000CBT","memo":"ouyang转给发行方yangxm"}yangxm=ouyang::transfer{"from":"eosio","to":"yangxm","quantity":"1000000000.0000CBT","memo":"ouyang转给发行方yangxm"}$

11、转账

给vsiryxm普通用户账户转账。

$cleospushactionouyangtransfer'["yangxm","vsiryxm","10000.0000CBT","yangxm给vsiryxm转账1000个CBT"]'-pyangxm

executedtransaction:c4bf101bd0e2763bd5c14c78d6e273bc71cb696e9c4832b71ee0b2b607283117160bytes1912us

yangxm=ouyang::transfer{"from":"yangxm","to":"vsiryxm","quantity":"10000.0000CBT","memo":"yangxm给vsiryxm转账10000个CB

查看yangxm余额999990000.0000CBT$cleosgetcurrencybalanceouyangvsiryxmCBT#查看vsiryxm余额10000.0000CBT

小结

1、account账户是EOS网络的基本单位,可以理解成现实中的法人,最终是保存在EOS公链上的,而公私钥、钱包、钱包密码是保存在本地的。

2、一个account账户至少可以用两个权限组owner、active来进行管理,同一个公钥拥有这两个权限组,也可以是不同公钥拥有这两个权限组,当然这样的权限还可以扩展成多个,只要你需要,把你的亲友团都加入到这个账户中来,一旦密钥被盗,不用担心,亲友团都可以帮助你找回密钥,37天的审核期,让你有足够的时间来操作,但前提是要设计好这个权限组成员和阀值。

3、钱包的解锁时间默认为900s,超过了要重新解锁,解锁状态为加了*星号。