EOS使用笔记

此笔记仅在本地环境使用。运行环境为Ubuntu。
eos服务建议使用Docker启动。

1.Docker启动本地单节点服务

启动

sudo docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 \
-v /tmp/work:/work \
-v /tmp/eosio/data:/mnt/dev/data \
-v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev  /bin/bash \
-c "nodeos -e -p eosio \
--plugin eosio::wallet_api_plugin \
--plugin eosio::wallet_plugin \
--plugin eosio::producer_plugin \
--plugin eosio::history_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::history_api_plugin \
--plugin eosio::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"

查看docker日志

sudo docker logs --tail 10 eosio

查看区块信息

 cleos get info

2.Cleos操作

第一步先创建钱包:

钱包创建成功后将密码保存好 ,后面解锁钱包会使用到

cleos wallet create -n ${walletName}

获取key 并将私钥引入钱包

cleos create key

这里会返回两个key 一个公钥 一个私钥 要要保存好 后面创建账户的时候需要使用到。

cleos wallet import -n ${walletName} ${private key}

解锁钱包

cleos wallet unlock -n ${walletName}

这里需要填写钱包密码

创建必要账户

部署智能合约会依附在在写账户上,要创建者几个必要的账户。

accountname:{
     "eosio.bpay",
    "eosio.msig",
    "eosio.name",
    "eosio.names",
    "eosio.ram",
    "eosio.ramfee",
    "eosio.saving",
    "eosio.stake",
    "eosio.token",
    "eosio.upay"
}
cleos create account eosio ${accountname} ${onwerkey} ${activekey}

部署必要的合约

到eos根目录下执行下面的指令

bios智能合约
cleos set contract eosio ./build/contracts/eosio.bios/ -p eosio -j
token智能合约
cleos set contract eosio.token ./build/contracts/eosio.token/ -p eosio.token -j
msig智能合约
cleos set contract eosio.msig ./build/contracts/eosio.msig/ -p eosio.msig -j
system智能合约

system智能合约的部署一定要在实现了创建代币之后,否则会报错。这里坑有些多

cleos set contract eosio ./build/contracts/eosio.system/ -p eosio -j

创建代币

代币符号就叫SYS暂时不要去改动,不然后面使用newaccount创建可以投票的账户会报错的。

cleos push action eosio.token create '[ "eosio", "1000000000.0000 SYS"]' -p eosio.token

发币

如果要进行投票 就需要向eosio这个认证账户里发代币 如果eosio里没有代币了,就无法创建的投票账户了。

cleos push action eosio.token issue '[ "user", "100.0000 SYS", "memo" ]' -p eosio -j
cleos push action eosio.token issue '[ "eosio", "100.0000 SYS", "memo" ]' -p eosio -j

交易

用户间也可以进行转账交易

 cleos push action eosio.token transfer '[ "user", "tester", "25.0000 SYS", "m" ]' -p user -j

查看当前账户的代币

sudo cleos get currency balance eosio.token user SYS

创建投票账户

完成了上面的操作后才可以成功创建投票用户,如果报错,看看哪一步没有做,做了在来执行此操作。

cleos system newaccount eosio voter1 ${owerkey} ${activkey} \
--stake-net '10.000 SYS' --stake-cpu '10.000 SYS'  --buy-ram '10.000 SYS'

抵押 10.000 个SYS 来租用网络 抵押 10.000 个SYS 来租用 CPU 抵押 10.000 个SYS 来租用 内存

给投票账户发代币

cleos push action eosio.token issue '[ "voter1", "1000.0000 SYS", "issue" ]' -p eosio -j

你可能感兴趣的:(区块链)