前言
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,超过了要重新解锁,解锁状态为加了*星号。