欢迎来到EOS小白学习系列,本系列会记录EOS学习过程中的一些操作和细节,大饼果子非C++出身,如有错误,欢迎指出
接上一篇:
EOS小白学习(二)部署系统合约
听说现在创建EOS的一个账户很贵了?本果子带大家创建一个测试环境的账户过过瘾,没有真的还不能有个假的么?口亨>_<
那么开工
cleos system newaccount eosio dabingguozi EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV --stake-net "1000 SYS" --stake-cpu "1000 SYS" --buy-ram-kbytes 8 -p eosio
⚠️如果你的钱包被锁定了,你需要先解锁你的钱包cleos wallet unlock --password ***
现在我们可以看到,大饼果子的账户被创建了
我们来看一下这些参数
permissions:指的是账户的权限,所属以及操作的权限,如上图的owner和active,他们都有一对密钥对,就是我们刚刚创建账户时后面跟的参数,这里是测试环境,我们使用相同的密钥对,生产环境建议使用不同的密钥对,有关账户权限以及其权重,和账户管理的活用场景,之后会专门开放讲解
memory:存储,是eos账户贵的原因,在eos中的存储就是ram,是资源,是开发者进行dapp开发必不可少要使用的资源,eosio.token用ram对用户的货币balance进行存储,我们cleos get account eosio.token就会看到,eosio.token的memory被用掉了很多
net bandwidth:网络宽带,网络宽带资源会随时间释放,但如果资源不足会导致一些操作无法执行
cpu bandwidth:cpu宽带,同网络宽带一样,会随时间释放,资源不足也会导致一些操作无法执行
宽带资源在这里就不讲了,关于ram资源,如果你只是一个用户,那么你暂时不需要太担心ram不够用的问题,因为你在其他合约上的数据是合约账户的功能,所以由合约账户来支付和维护。但如果你是一个dapp开发者,那么你需要考虑ram是否够用的问题,而且要尽可能的少使用数据存储,以便降低成本。但这些不是本系列的重点。
我们现在有了一个账户,那就给这个账户转一些帐吧(在EOS的生产环境,EOS的币叫EOS,在测试环境叫做SYS)
cleos transfer eosio dabingguozi "520.0000 SYS" "first trans"
⚠️如果你的钱包被锁定了,你需要先解锁你的钱包cleos wallet unlock --password ***
这是从eosio向大饼果子转520.0000 SYS的币,为什么可以从eosio转呢,因为上一篇我们给eosio加了足够的钱,所以可以转
他的结果是这样的
那么我们再一次get大饼果子的账户就会发现
大饼果子有了520个SYS!!
本果子假装有了EOS,口亨>_<
现在我们已经创建了账户,也操作了转账,都是使用的cleos命令,下一篇本果子将带大家使用http操作节点咯
EOS小白学习(四)使用http请求EOS节点
ps. cleos transfer是系统命令,但我们知道转账也是eosio.token的合约,可不可以直接用cleos调用合约方法?答案是可以的
cleos push action eosio.token transfer '["eosio", "dabingguozi", "2.0000 SYS" ,"contract"]' -p eosio
push action就是执行合约,我们在执行eosio.token下的transfer方法,其中参数是 '["eosio", "dabingguozi", "2.0000 SYS", "contract"]',合约方法要求有eosio的permission,所以最后我们给了eosio的permission,如此一来,和cleos transfer的效果就一致了,其实cleos transfer就是在执行这个合约方法,条条大陆通罗马,哪条我们都转账成功了