【譯】EOS區(qū)塊鏈開發(fā)的第一步(下篇)

注意:本文節(jié)選&翻譯自https://infinitexlabs.com/first-steps-in-eos-blockchain-development/

對搭建EOSIO開發(fā)環(huán)境感興趣的,也可以查看EOS官方的本地環(huán)境搭建教程:https://github.com/EOSIO/eos/wiki/Local-Environment

因文章較長,我分成了上中下三篇,本篇是下篇。

內(nèi)容簡介:

1、為currency合約創(chuàng)建一個(gè)賬號

2、上傳currency合約到區(qū)塊鏈

3、用currency合約交易

為“currency”合約創(chuàng)建一個(gè)賬號

這個(gè)被命名為“currency”的賬號將會被用于“currency”合約。生成兩對 公鑰/私鑰,稍后將其分配為public-OwnerKey 和 public-ActiveKey。

cd ~/eos/build/programs/cleos/

./cleos create key?# OwnerKey

./cleos create key?# ActiveKey

這將輸出以下格式的兩對公鑰和私鑰:

Private key: XXXXXXXXXXXXXXXXXXXXXXX

Public key: XXXXXXXXXXXXXXXXXXXXXXX

把兩個(gè)私鑰導(dǎo)入到錢包:

./cleos wallet import

./cleos wallet import

請注意,如果你未指定錢包的名稱,則將使用“默認(rèn)”。另外,不要忘記保存你生成的密鑰。

通過 cleos create account 命令來創(chuàng)建賬號。該創(chuàng)建將會被eosio賬戶授權(quán)。上面生成的兩個(gè)公鑰將與該賬戶關(guān)聯(lián),一個(gè)作為其OwnerKey,另一個(gè)作為其ActiveKey。如果它執(zhí)行成功了,你應(yīng)該會得到一個(gè)JSON返回,并返回一個(gè)確認(rèn)其已成功執(zhí)行的事物ID。

./cleos create account eosio currency

executed transaction: f280ab10e0734f7d2ff3d84f84a4189c7e3f17b739469121bf28abcecbf6f1b1 364 bytes 1000 cycles

你可以通過下面的命令來校驗(yàn)賬號是否已經(jīng)創(chuàng)建成功了

./cleos get account currency

如果一切順利,你將得到一個(gè)類似下面格式的json數(shù)據(jù):

上傳“currency”合約樣本到區(qū)塊鏈

在上傳一個(gè)合約之前,你需要去校驗(yàn)區(qū)塊鏈上還沒有這個(gè)合約

./cleos get code currency

code hash: 0000000000000000000000000000000000000000000000000000000000000000

使用currency賬戶上傳currency合約樣本。響應(yīng)應(yīng)該是帶有一些JSON的transaction_id。這表示你的合同已成功上傳:

cleos set contract currency build/contracts/currency/ build/contracts/currency/currency.wast build/contracts/currency/currency.abi

同樣,你也可以通過以下命令校驗(yàn)代碼已經(jīng)被設(shè)置:

./cleos get code currency

code hash: 9b9db1a7940503a88535517049e64467a6e8f4e9e03af15e9968ec89dd794975

在使用currency合約之前,你必須 create 然后 issue 合約:

./cleos push action currency create ‘{“issuer”:”currency”,”maximum_supply”:”1000000.0000 CUR”,”can_freeze”:”0”,”can_recall”:”0”,”can_whitelist”:”0”}’ —permission currency@active

./cleos push action currency issue ‘{“to”:”currency”,”quantity”:”1000.0000 CUR”,”memo”:””}’ —permission currency@active

然后校驗(yàn)currency合約是否已經(jīng)有了合適的初始余額:

./cleos get table currency currency accounts

{ “rows”: [{ “balance”: “1000.0000 CUR”, “frozen: 0, “whitelist”: 1 } ], “more”: false }

通過“currency”合約轉(zhuǎn)賬

下面演示從 currency賬號轉(zhuǎn)賬 “20.0000 CUR” 到 “eosio”賬號。一個(gè)成功的交易將生成一個(gè)交易ID和JSON輸出:

./cleos push action currency transfer ‘{“from”:”currency”,”to”:”eosio”,”quantity”:”20.0000 CUR”,”memo”:”my first transfer”}’ —permission currency@active

executed transaction: 943fc09b6ccc426d172fdda87c70e02eeb9934790b2f23ce6da298e98f06f07f 284 bytes 1000 cycles

>>?transfer

最后,我們校驗(yàn)一下“currency”合約的余額:

檢查前一個(gè)交易涉及的兩個(gè)賬戶的狀態(tài)

./cleos get table currency eosio accounts

./cleos get table currency currency accounts

接收賬戶eosio現(xiàn)在有20的余額,發(fā)送賬戶的currency現(xiàn)在比最初的發(fā)行少20個(gè)。

總結(jié):

我們首先安裝了EOSIO,并建立了我們的開發(fā)環(huán)境。然后,我們安裝了合約開發(fā)所需的可執(zhí)行程序,并且我們已經(jīng)開始了我們的第一個(gè)testnet節(jié)點(diǎn),它在區(qū)塊鏈上生成塊。之后,我們學(xué)習(xí)如何生成公鑰/私鑰并將它們導(dǎo)入我們的錢包。我們使用公鑰- OwnerKey 和 ActiveKey 創(chuàng)建一個(gè)賬戶,并且我們部署了樣本currency合約。最后,我們使用currency合約進(jìn)行了一筆交易。

完。

相關(guān)閱讀:

【譯】EOS區(qū)塊鏈開發(fā)的第一步(上篇)

【譯】EOS區(qū)塊鏈開發(fā)的第一步(中篇)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容