日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange

發(fā)布時(shí)間:2025/7/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

先回答一下上一節(jié)中留下的問(wèn)題,為什么我就看不到eosio這個(gè)賬戶中的錢呢?我明明為它c(diǎn)reate了很多token啊。

對(duì),你是create了,但是沒(méi)有issue啊。create了1000000000 SYS,只能說(shuō)明eosio.token這個(gè)用戶為eosio這個(gè)用戶在eosio.token用戶的這個(gè)合約上創(chuàng)建了1000000000 SYS,這些SYS還在央行里面躺著呢,還沒(méi)有發(fā)行,它就是一堆廢紙。

所以,咱們issue一下試試?

執(zhí)行命令:./cleos push action eosio.token issue '["eosio", "1000000000.0000 SYS", "memo"]' -p eosio

也就是發(fā)行者給把1000000000個(gè)SYS全部放進(jìn)自己的賬戶里準(zhǔn)備流通了。

?

怎么樣?我沒(méi)騙你吧?

好了,咱們來(lái)看一下上邊的腳本執(zhí)行情況。

1、因?yàn)橛诌^(guò)了一天了,所以我執(zhí)行第一條命令的時(shí)候,它要求我打開錢包,于是我就吧默認(rèn)錢包給打開了。

2、打開錢包后,我直接給eosio發(fā)1000000000個(gè)SYS,第一次報(bào)錯(cuò)了,說(shuō)交易時(shí)間過(guò)長(zhǎng),我忍了,再執(zhí)行一遍,它告訴我說(shuō) 數(shù)量超過(guò)可供應(yīng)量。

3、好吧,我們把十億換成999999900,再執(zhí)行,成功了。

4、現(xiàn)在再來(lái)看看它們各自有多少錢,看到?jīng)]?eosio這個(gè)賬戶也真的有錢了。但是它錢是不是太多了點(diǎn)?比如說(shuō)我們想再給simayi發(fā)行(issue)點(diǎn)SYS,還能成功嗎?

看到?jīng)]?沒(méi)錢了,國(guó)庫(kù)空虛了,以后simayi想要錢,只能找eosio這家伙要了,只能通過(guò)transfer的方式獲得了。咦,我們?cè)囋嚹懿荒芙o它發(fā)行負(fù)的錢可好?

有點(diǎn)不好意思,它告訴我說(shuō)讓我別鬧,要正數(shù)才行。看來(lái),simayi的這500塊,我只能transfer給它了:

執(zhí)行命令:./cleos push action eosio.token transfer '[ "eosio", "simayi", "500.0000 SYS", "m" ]' -p eosio

?

好了,大家的錢的問(wèn)題都講清楚了,咱們?cè)賮?lái)聊聊其它的合約吧。嗯,第三個(gè):

3、Exchange

The exchange contract 提供了創(chuàng)造和交易貨幣的能力。這是個(gè)什么情況?上邊的eosio.token不也能創(chuàng)建和交易貨幣嘛?等等,這里所說(shuō)的交易貨幣,是不是指像現(xiàn)實(shí)生活中美元和人民幣兌換之類的事啊?所謂的跨貨幣交易?這只是我的個(gè)人猜測(cè)哈。我們現(xiàn)在來(lái)做下實(shí)驗(yàn)吧。

那么,既然它能創(chuàng)建貨幣,那咱們現(xiàn)在就試試Exchange這個(gè)東西好不好使可好?

a、轉(zhuǎn)到nodeos的運(yùn)行界面,使用ctrl+c,停止nodeos的運(yùn)行(咱們不去/home/fengwork/.local/share/eosio/nodeos刪data文件夾哈,留著有用)

b、再次輸入./nodeos,啟動(dòng)節(jié)點(diǎn)

c、打開一個(gè)新的Terminal來(lái)操作cleos

?

3.1創(chuàng)建eosio.exch賬戶(./cleos create account eosio eosio.exch)

要?jiǎng)?chuàng)建一個(gè)賬戶還真是挺麻煩的。先得創(chuàng)建key,解鎖錢包,然后把key導(dǎo)入錢包,之后才能創(chuàng)建account。而且啊,account不能超過(guò)13個(gè)字符,且有命名規(guī)則要求。別告訴我你懶癌犯了哈,命令自己敲去。

呃,如果實(shí)在是真的懶癌犯了,那命令在下邊,誰(shuí)叫我心軟呢:

fengwork@ubuntu:~$ cd eos/build/programs/cleos/
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos create key
Private key: 5Jm5G6rFAaxjPKuAraR8mYVmzqpB3E35Mjw363SceFjUeSF6G61
Public key: EOS5m1u5coWVEAfCwpJvh2ftGq2AEnVWFSS6ytvXgegZra11PK6hK
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos create key
Private key: 5JfYHqk8wh2v3335Mxsp71B3pBevmpUxHKfkEiomKHcLDDnpfiy
Public key: EOS6wLBffPDWeaYCxTnD1KwFYMR1YjWcCMVf5iRpoQo53tsAAJCeE
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos wallet list
Wallets:
[
? "default",
? "hanmeimei",
? "simaguang",
? "wangerxiao"
]
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos wallet unlock -n default --password PW5KZGrxQR77W2ctkZPGsZugQVekdEipZKxE48sxy6rPFE6sUfnV6(可還記得你的default錢包的password?)
Unlocked: default
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos wallet import 5Jm5G6rFAaxjPKuAraR8mYVmzqpB3E35Mjw363SceFjUeSF6G61
imported private key for: EOS5m1u5coWVEAfCwpJvh2ftGq2AEnVWFSS6ytvXgegZra11PK6hK
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos wallet import 5JfYHqk8wh2v3335Mxsp71B3pBevmpUxHKfkEiomKHcLDDnpfiy
imported private key for: EOS6wLBffPDWeaYCxTnD1KwFYMR1YjWcCMVf5iRpoQo53tsAAJCeE
fengwork@ubuntu:~/eos/build/programs/cleos$ ./cleos create account eosio eosio.exch EOS5m1u5coWVEAfCwpJvh2ftGq2AEnVWFSS6ytvXgegZra11PK6hK EOS6wLBffPDWeaYCxTnD1KwFYMR1YjWcCMVf5iRpoQo53tsAAJCeE
executed transaction: c89b760279cb449d25dbce13ffb36a58bbabddaf28b656336acda9ca4fd42f1e? 200 bytes? 14902 us
#???????? eosio <= eosio::newaccount??????????? {"creator":"eosio","name":"eosio.exch","owner":{"threshold":1,"keys":[{"key":"EOS5m1u5coWVEAfCwpJvh2...
warning: transaction executed locally, but may not be confirmed by the network yet

?

警告先不管。

3.2加載Exchange合約(./cleos set contract eosio.exch ../../contracts/exchange -p eosio.exch

?

3.3給eosio.exch創(chuàng)造點(diǎn)貨幣(./cleos push action eosio.exch create '{"issuer":"eosio", "maximum_supply":"200000000.0000 EXCH"}' -p eosio.exch

?

看到?jīng)]?我們換著方的玩,它都創(chuàng)造不了貨幣。

那特么的上邊說(shuō)它能夠創(chuàng)造和交易貨幣,逗咱們玩呢?

?

我們?cè)俅斡胑osio.token來(lái)試試,另外創(chuàng)建一個(gè)幣種,看看效果:

?

這才是最正確的姿勢(shì)嘛,那個(gè)Exchange合約是個(gè)什么鬼?!

通過(guò)上邊的命令執(zhí)行情況,我們可以得到如下信息:

1、eosio.token加載過(guò)一遍后,就被寫入到鏈上了,即使我們重啟節(jié)點(diǎn),已加載的合約也不會(huì)丟失,除非你把塊都刪了,且沒(méi)有和別的機(jī)器連在一起上鏈

2、可以為同一個(gè)賬戶,如eosio,創(chuàng)造多個(gè)幣種,且把該幣種發(fā)布出去

3、還是不知道Exchange干啥用的

?

暫時(shí)到這里吧,下篇繼續(xù)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/paluano/p/Exchange.html

總結(jié)

以上是生活随笔為你收集整理的EOS开发基础之五:使用cleos命令行客户端操作EOS——智能合约之Exchange的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。