EOS之eosio.token合約的部署和發放token

image

eosio.token智能合約

在eos目錄中自帶的合約中,有一個eosio.token智能合約,這個智能合約的功能是爲賬戶發放token,token可以用來轉賬操作。

操作步驟

在eos私有節點操作中,我們通常是一個合約對應一個合約賬戶,並且一個賬戶中只能部署一個智能合約。如果在同一個賬戶部署多個合約,那麼最後部署的合約會覆蓋掉之前的合約。

  • 創建用來部署合約的賬戶
cleos create account eosio eosio.token EOS8kTP7dWruLSZidZfRkcaQiwKPS1eApwnojeBo6QnaVKt2rMGMM EOS8kTP7dWruLSZidZfRkcaQiwKPS1eApwnojeBo6QnaVKt2rMGMM
executed transaction: 46c68f270dfceb36ce2270a6bad89ca2228b9750a19a3a3bc92578a46637fbb1 352 bytes 102400 cycles
# eosio <= eosio::newaccount {"creator":"eosio","name":"eosio.token","owner":{"threshold":1,"keys":[{"key":"EOS8kTP7dWruLSZidZfRk...
  • 把eosio.token合約部署到eosio.token賬戶上
cleos set contract eosio.token ../eosio.token
Reading WAST/WASM from build/contracts/eosio.token/eosio.token.wast...
Assembling WASM...
Publishing contract...
executed transaction: 5a0305bcab99b9d9f8590f51ce4d55bb0a0e60c2d79f4d61cd1ab210571171e2 8288 bytes 2200576 cycles
# eosio <= eosio::setcode {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d010000000183011560067f7e7f7f7f7f00...
# eosio <= eosio::setabi {"account":"eosio.token","abi":{"types":[],"structs":[{"name":"transfer","base":"","fields":[{"name"...
  • 創建代幣
cleos push action eosio.token create '[ "eosio", "1000000000.0000 EOS", 0, 0, 0]' -p eosio.token
executed transaction: b6ffc0fbb62ff4c23b7d24b8b55a34bf0c74e7c710b18d16af326b939ae9ecfd 248 bytes 104448 cycles
# eosio.token <= eosio.token::create {"issuer":"eosio","maximum_supply":"1000000000.0000 EOS","can_freeze":0,"can_recall":0,"can_whitelis...
  • 爲賬戶發放token
cleos push action eosio.token issue '[ "lilei", "1000.0000 EOS", "" ]' -p eosio
executed transaction: 8e33d754aa7dd8987522c3c76ab9a1bffada096363f71169e6da71d444552631 248 bytes 124928 cycles
# eosio.token <= eosio.token::issue {"to":"lilei","quantity":"1000.0000 EOS","memo":""}
>> issue
# eosio.token <= eosio.token::transfer {"from":"eosio","to":"lilei","quantity":"1000.0000 EOS","memo":""}
>> transfer
# eosio <= eosio.token::transfer {"from":"eosio","to":"lilei","quantity":"1000.0000 EOS","memo":""}
# lilei <= eosio.token::transfer {"from":"eosio","to":"lilei","quantity":"1000.0000 EOS","memo":""}
  • 查詢餘額
cleos get table eosio.token lilei accounts
{
  "rows": [{
      "balance": "1000.0000 EOS",
      "frozen": 0,
      "whitelist": 1
    }
  ],
  "more": false
}

可以看到,lilei的token已經到賬了。如果他真有
1000個EOS,那他就可以出去買買買了。

知識星球二維碼380.png

發佈了44 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章