0. 合约规则
- 必须注意的是,一个账户只能与一个智能合约相关联,可以在同一账户上更改或升级智能合约代码
- 账户名与合约名相同
- 一个合约内使用过的符号名,换一个合约还能用, 甚至也能叫做 ‘EOS’
- 创建token合约要求至少需要230KB的内存
- 通过自己创建的合约转账需要消耗ram,系统的token合约转账不消耗ram
- 并不是每次交易都会消耗RAM
- 用户哪此操作需要用到RAM呢?以下操作是需要消耗RAM的:创建新的EOS帐户、创建合约、向其它帐户转账、买卖RAM、抵押获取CPU或者NET、赎回抵押等等。用户在操作这此操作时,帐户里需要有一定量的RAM,否则无法完成操作。
- cleos执行交易后输出的信息里包含的是: 交易hash, 使用net量, 使用cpu量
1. 解锁钱包 (每次服务器重启或每15分钟需要解锁一次)
./cleos wallet unlock
ubuntu: PW5KjRuPafFMjF5SPLbqLBHuUsGbaNWyVKgVokYWsdt8HYs6GZHFL
2. 创建与发行自己的币
第一步,创建普通账户
由voter1创建 mytokentoken (加上–transfer表示钱的所有权一起转移给了新账号)
./cleos system newaccount --transfer voter1 mytokentoken EOS63gKbqNRZjboQyfXBJPijZHNr1GtXJu5eCan3e6iSqN7yP5nFZ EOS63gKbqNRZjboQyfXBJPijZHNr1GtXJu5eCan3e6iSqN7yP5nFZ --stake-net "1.0000 SYS" --stake-cpu "1 SYS" --buy-ram "1 SYS"
第二步,部署token合约,部署账户为 mytokentoken
./cleos set contract mytokentoken ../../unittests/contracts/eosio.token -p mytokentoken
./cleos get abi mytokentoken
第三步,发布 MPT 代币,调用mytokentoken账户下的智能合约的create函数
必须注意的是,一个账户只能与一个智能合约相关联,可以在同一账户上更改或升级智能合约代码。
./cleos push action mytokentoken create '[ "mytokentoken", "1000000000.0000 MPT"]' -p mytokentoken@active
./cleos get currency stats mytokentoken MPT
第四步,发行资产打入mytokentoken账户,调用mytokentoken账户下的智能合约的issue函数。
./cleos push action mytokentoken issue '[ "mytokentoken", "150000000.0000 MPT", "memo" ]' -p mytokentoken
# 查看余额(可选)
./cleos get currency balance mytokentoken mytokentoken
第五步, 转账交易
./cleos push action eosio.token transfer '[ "user", "tester", "1.0000 SYS", "m" ]' -p user
注意:
以前黑客在EOS网络发行假冒的EOS代币,从而在eosbet以及交易所进行消费,竟然假冒成功了,原因是eosbet这些项目代码中某些地方并没有判断token来源。