真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

EOS區(qū)塊鏈平臺智能合約怎么實現(xiàn)HelloWorld

本篇內(nèi)容主要講解“EOS區(qū)塊鏈平臺智能合約怎么實現(xiàn)HelloWorld”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“EOS區(qū)塊鏈平臺智能合約怎么實現(xiàn)HelloWorld”吧!

創(chuàng)新互聯(lián)一直通過網(wǎng)站建設和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務,以網(wǎng)站設計制作、成都網(wǎng)站設計、移動互聯(lián)產(chǎn)品、成都全網(wǎng)營銷推廣服務為核心業(yè)務。十余年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設技術(shù),全新開發(fā)出的標準網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設的選擇。

運行nodeos

要通過Hello World日志進行驗證,請使用contracts-console選項運行它。

nodeos --contracts-console

生成智能合約

讓我們嘗試通過一個不同的新的終端上(除了nodeos的終端之外)訪問EOS目錄,創(chuàng)建一個名為Hello的文件夾。命令如下:

$ cd eos
$ cd mkdir hello
$ cd hello

然后,創(chuàng)建hello.cpp文件并復制下面的示例。Hello合約繼承了EOS.IO提供的合約,并具有打印出用戶名Hello的功能。

編譯代碼

  • 對于第一個命令,讓我們用WebAssembly編譯代碼。編譯時,可能會提示警告(但我們可以忽略它)。

  • 對于第二個命令,讓我們創(chuàng)建ABI。

# Compile webaassembly
eosiocpp -o hello.wast hello.cpp

# Creating abi
eosiocpp -g hello.abi hello.cpp

帳戶創(chuàng)建和合約發(fā)布

創(chuàng)建一個名為Hello.Code的帳戶。我們將進一步使用這個帳戶發(fā)布Hello合約。

cleos set contract ${account} ${path} -p ${permmition}命令發(fā)布合約。

$ cleos create account eosio hello.code EOS8QMGRoRPZ4uf3w8WACcrg3wKzLtXpCk5Gpia6pdFzSuftLigWT EOS8QMGRoRPZ4uf3w8WACcrg3wKzLtXpCk5Gpia6pdFzSuftLigWT

executed transaction: e6847fc85c7733dd70a9ff27c2cad98ea0b50fb6c80c2b0c7ea1bf64f9917916  200 bytes  225 us

#         eosio <= eosio::newaccount            {"creator":"eosio","name":"hello.code","owner":{"threshold":1,"keys":[{"key":"EOS8QMGRoRPZ4uf3w8WACc...

$ cleos set contract hello.code ../hello -p hello.code

Reading WAST/WASM from ../hello/hello.wasm...

Using already assembled WASM...

Publishing contract...

executed transaction: 7e1b070382188677e70cf4b87e8fbe02c072f10063983ffc1d8259b127d8fea7  1800 bytes  723 us

#         eosio <= eosio::setcode               {"account":"hello.code","vmtype":0,"vmversion":0,"code":"0061736d01000000013b0c60027f7e006000017e600...

#         eosio <= eosio::setabi                {"account":"hello.code","abi":"0e656f73696f3a3a6162692f312e30000102686900010475736572046e616d6501000...

調(diào)用函數(shù)

讓我們調(diào)用hello類的hi函數(shù)。它可以用下面的命令來完成:

cleos push action ${contract_name} ${function} ${[argument]} -p ${permission}

在下面的示例中,hello.code合約中的用戶帳戶調(diào)用hi函數(shù)。

$ cleos push action hello.code hi '["user"]' -p user

executed transaction: d7932d1ee61ab6b0fed1f9e20d4a2e2607b029763aeaf1daea4ed718d2885797  104 bytes  500 us

#    hello.code <= hello.code::hi               {"user":"user"}

結(jié)果

nodeos終端中執(zhí)行交易的塊中添加了以下輸出。hello是名為hi函數(shù)的用戶的名字。

2703777ms thread-0 apply_context.cpp:28 print_debug ]

[(hello.code,hi)->hello.code]: CONSOLE OUTPUT BEGIN =====================

Hello, user

[(hello.code,hi)->hello.code]: CONSOLE OUTPUT END =====================

授權(quán)運行請求

  • 替換為包含授權(quán)請求調(diào)用hi函數(shù)。

結(jié)果

  • 當我們試圖用一個未經(jīng)授權(quán)的帳戶調(diào)用它時,會出現(xiàn)一個錯誤(如下)。

  • 使用授權(quán)帳戶,它正常輸出無錯誤。

# Authorized

$ cleos push action hello.code hi '["tester"]' -p user

Error 3090004: missing required authority

# Unauthorized

$ cleos push action hello.code hi '["tester"]' -p tester

executed transaction: 16a34c27c7d162dc3940358197306df619911fb930cbddd6d208125a770886f4  104 bytes  243 us

#    hello.code <= hello.code::hi               {"user":"tester"}

可以在nodeos的塊中按如下方式打印日志:

2525788ms thread-0   http_plugin.cpp:405           handle_exception     ] FC Exception encountered while processing chain.push_transaction

2525788ms thread-0   http_plugin.cpp:406           handle_exception     ] Exception Details: 3090004 missing_auth_exception: missing required authority

missing authority of tester {"account":"tester"}

thread-0  apply_context.cpp:132 require_authorization {"_pending_console_output.str()":""}

thread-0  apply_context.cpp:62 exec_one

到此,相信大家對“EOS區(qū)塊鏈平臺智能合約怎么實現(xiàn)HelloWorld”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!


文章標題:EOS區(qū)塊鏈平臺智能合約怎么實現(xiàn)HelloWorld
網(wǎng)站路徑:http://weahome.cn/article/pgoejj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部