EOS發幣過程記錄

參考: mediumjson

建立錢包

cleos wallet create -n alex-wallet --to-console

輸出:bash

Creating wallet: alex-wallet
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5KbQdy5YxYyKgcUMvbxk82tjm5xMEF67qvKCeDohvpiJFwb5hgV"

查看錢包

cleos wallet list

輸出:this

Wallets:
[
  "alex-wallet *"
]

建立密鑰

cleos create key --to-console

輸出:3d

Private key: 5KM58X55iTQiKamSszmCPQRXS1CvA3hMw3h96u6KnX2mrR8e7qj
Public key: EOS7tmDEWoc6qJHAvkbffod7kpXPaJTazNY2uJcVAfYg9QiQ5pmyMcode

Private key: 5J8esD5uZsrJ72gunW5TfPQTzJyAeY262YPtPZxMDZEBsaimDEg
Public key: EOS7bxXDrUAZoYTR6udrcWEYndDHeV5sHJju6M6opy9qvibc8w8H6token

## 密鑰導入錢包

cleos wallet import -n alex-wallet --private-key 5KM58X55iTQiKamSszmCPQRXS1CvA3hMw3h96u6KnX2mrR8e7qj部署

cleos wallet import -n alex-wallet --private-key 5J8esD5uZsrJ72gunW5TfPQTzJyAeY262YPtPZxMDZEBsaimDEgget

> 另外還要導入EOSIO的私鑰
​```bash
cleos wallet import -n alex-wallet --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

建立帳戶

cleos create account eosio eosio.token EOS7bxXDrUAZoYTR6udrcWEYndDHeV5sHJju6M6opy9qvibc8w8H6 EOS7tmDEWoc6qJHAvkbffod7kpXPaJTazNY2uJcVAfYg9QiQ5pmyM

輸出:hash

executed transaction: 968224dd6b597e598430d960ffd30c07834cd23201a4ea655be57977781bc187  200 bytes  28129 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"eosio.token","owner":{"threshold":1,"keys":[{"key":"EOS7bxXDrUAZoYTR6udrc...
warning: transaction executed locally, but may not be confirmed by the network yet         ]
對應owner key: 5J8esD5uZsrJ72gunW5TfPQTzJyAeY262YPtPZxMDZEBsaimDEg
active key: 5KM58X55iTQiKamSszmCPQRXS1CvA3hMw3h96u6KnX2mrR8e7qj

再建立另外兩個帳戶usera userb , 用於轉帳

簡單點, 直接用相同的key了
cleos create account eosio usera EOS7bxXDrUAZoYTR6udrcWEYndDHeV5sHJju6M6opy9qvibc8w8H6 EOS7tmDEWoc6qJHAvkbffod7kpXPaJTazNY2uJcVAfYg9QiQ5pmyM

cleos create account eosio userb EOS7bxXDrUAZoYTR6udrcWEYndDHeV5sHJju6M6opy9qvibc8w8H6 EOS7tmDEWoc6qJHAvkbffod7kpXPaJTazNY2uJcVAfYg9QiQ5pmyM

生成合約

eosiocpp -n eosio.token

輸出:it

created eosio.token from skeleton
發現生成的合約裏面內容竟然是helloworld的內容, 因此拷貝過去了

編譯

eosiocpp -o eosio.token.wast eosio.token.cpp

eosiocpp -g eosio.token.abi eosio.token.cpp

部署

cleos set contract eosio.token /eosio.token

輸出:

Reading WASM from /eosio.token/eosio.token.wasm...
Publishing contract...
executed transaction: 0b9ff9c12794b6a52cdf310b21fb0aaef03428616d8222ba1e9978105de89d2e  8144 bytes  32370 us
#         eosio <= eosio::setcode               {"account":"eosio.token","vmtype":0,"vmversion":0,"code":"0061736d01000000017e1560037f7e7f0060057f7e...
#         eosio <= eosio::setabi                {"account":"eosio.token","abi":"0e656f73696f3a3a6162692f312e300007076163636f756e7400010762616c616e63..

檢查下是否部署成功:

cleos get code eosio.token

輸出:

code hash: 373148ead5436184456da0f048d45afdded95e8276c1454619ddf87c65a70a05

調用合約, 執行create

cleos push action eosio.token create '["usera","21000000.0000 DEMO"]' -p eosio.token

查詢狀態:

cleos get table eosio.token DEMO stat

輸出:

{
  "rows": [{
      "supply": "0.0000 DEMO",
      "max_supply": "21000000.0000 DEMO",
      "issuer": "usera"
    }
  ],
  "more": false
}
cleos get table eosio.token usera accounts

輸出:

{
  "rows": [],
  "more": false
}

調用合約, 執行issue

cleos push action eosio.token issue '["usera","21000000.0000 DEMO","issuance"]' -p usera

輸出:

executed transaction: 820c1aa07b55536e3ff11bd0e8f2cb3b4c1d79c18a8df1ecbed7d25ad5fae115  128 bytes  3401 us
#   eosio.token <= eosio.token::issue           {"to":"usera","quantity":"21000000.0000 DEMO","memo":"issuance"

issue後查詢狀態

cleos get table eosio.token DEMO stat

輸出:

{
  "rows": [{
      "supply": "21000000.0000 DEMO",
      "max_supply": "21000000.0000 DEMO",
      "issuer": "usera"
    }
  ],
  "more": false
}
issue以後supply變了
cleos get table eosio.token usera accounts

輸出:

{
  "rows": [{
      "balance": "21000000.0000 DEMO"
    }
  ],
  "more": false
}
issue 以後usera的accounts信息裏的balance有餘額了

調用合約, 執行轉帳

cleos push action eosio.token transfer '["usera","userb","1000000.0000 DEMO","here you go"]' -p usera

輸出:

executed transaction: c4b79a6a8ab89b59075e3dbe4fc126bcc8991ef54a2e42b1c98ee729bca228af  136 bytes  2012 us
#   eosio.token <= eosio.token::transfer        {"from":"usera","to":"userb","quantity":"1000000.0000 DEMO","memo":"here you go"}
#         usera <= eosio.token::transfer        {"from":"usera","to":"userb","quantity":"1000000.0000 DEMO","memo":"here you go"}
#         userb <= eosio.token::transfer        {"from":"usera","to":"userb","quantity":"1000000.0000 DEMO","memo":"here you go"}

調用轉帳後查詢狀態

cleos get table eosio.token DEMO stat

輸出:

{
  "rows": [{
      "supply": "21000000.0000 DEMO",
      "max_supply": "21000000.0000 DEMO",
      "issuer": "usera"
    }
  ],
  "more": false
}
沒有變化

查詢usera帳戶餘額:

cleos get table eosio.token usera accounts

輸出:
{
"rows": [{

"balance": "20000000.0000 DEMO"
}

],
"more": false
}

> usera 少了100萬

查詢userb帳戶餘額:
​```bash
cleos get table eosio.token userb accounts

輸出:

{
  "rows": [{
      "balance": "1000000.0000 DEMO"
    }
  ],
  "more": false
}
userb 已經有了100萬餘額
相關文章
相關標籤/搜索