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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不管是C、C++、Java還是任何其他語言,一般剛開始學習的時候,我們都會從HelloWorld開始,這篇文章主要講解EOS DAWN-V3.0.0?智能合約開發之Hello World。

在看這篇文章之前,請先閱讀下面兩篇入門文章。

  • 第一篇 - 手把手教你理清EOS各種開發環境搭建來龍去脈
  • 第二篇 - EOS Currency 合約案例

1. 編寫合約代碼

在桌面創建一個文件夾,比如:0418,用Atom打開0418文件夾。新建文件Hello.cpp文件,并將下面的源碼拷貝到Hello.cpp文件中。

#include <eosiolib/eosio.hpp> #include <eosiolib/print.hpp>// 視頻網站:http://kongyixueyuan.com // 個人博客:http://liyuechun.org // 公眾號:區塊鏈部落 // 進技術群,請加微信(kongyixueyuan)//用eosio命名空間 using namespace eosio;//所有的智能合約都繼承自contract類 class Hello : public eosio::contract {public:using contract::contract;/// @abi actionvoid hi( account_name user ) {print( "Hello, ", name{user} );}}; EOSIO_ABI( Hello, (hi) )

2. 生成.wast文件

liyuechun:Project yuechunli$ eosiocpp -o Hello.wast Hello.cpp liyuechun:Project yuechunli$ ls Hello.cpp Hello.wast liyuechun:Project yuechunli$

3. 生成.abi文件

liyuechun:Project yuechunli$ eosiocpp -g Hello.abi Hello.cpp Generated Hello.abi ... liyuechun:Project yuechunli$ ls Hello.abi Hello.cpp Hello.wast liyuechun:Project yuechunli$
  • Hello.abi文件內容如下:
{"____comment": "This file was generated by eosio-abigen. DO NOT EDIT - 2018-04-18T08:15:50","types": [],"structs": [{"name": "hi","base": "","fields": [{"name": "user","type": "account_name"}]}],"actions": [{"name": "hi","type": "hi","ricardian_contract": ""}],"tables": [],"clauses": [] }

4. 創建錢包賬號

4.1 創建錢包
liyuechun:Hello yuechunli$ cleos wallet create Creating wallet: default Save password to use in the future to unlock this wallet. Without password imported keys will not be retrievable. "PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL"

PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL必須保存好,解鎖錢包時需要使用到這個密碼。

4.2 創建兩組key
liyuechun:Hello yuechunli$ ./cleos create key -bash: ./cleos: No such file or directory liyuechun:Hello yuechunli$ cleos create key Private key: 5K7QdknUZsF9apdBhD8TDMZGJjw8zJ8esYwS173YyFRv2453Z9t Public key: EOS5RU8VsYBLnN5snGeUKmt1sDDzpvQbGyW7LPP6qEryaFctYieCK liyuechun:Hello yuechunli$ cleos create key Private key: 5J8kComGiQHZyNmH6VvkHgtFggeQemazLpihKR4QW75DNkWTVdA Public key: EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG
4.3 向錢包導入私鑰
liyuechun:Hello yuechunli$ cleos wallet import 5K7QdknUZsF9apdBhD8TDMZGJjw8zJ8esYwS173YyFRv2453Z9t imported private key for: EOS5RU8VsYBLnN5snGeUKmt1sDDzpvQbGyW7LPP6qEryaFctYieCK liyuechun:Hello yuechunli$ cleos wallet import 5J8kComGiQHZyNmH6VvkHgtFggeQemazLpihKR4QW75DNkWTVdA imported private key for: EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG
4.4 創建賬戶
liyuechun:cleos yuechunli$ ./cleos create account eosio liyc111 EOS5RU8VsYBLnN5snGeUKmt1sDDzpvQbGyW7LPP6qEryaFctYieCK EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG

5. 部署合約

liyuechun:build yuechunli$ cleos set contract liyc111 ./contracts/Hello Reading WAST/WASM from ./contracts/Hello/Hello.wast... Assembling WASM... Publishing contract... executed transaction: 21d891e425f3d65852432e2b6a78146e2e2992a267c9f28c8ce56cd5dbea98f2 1632 bytes 2200576 cycles # eosio <= eosio::setcode {"account":"liyc111","vmtype":0,"vmversion":0,"code":"0061736d0100000001370b60027f7e0060027e7e006001... # eosio <= eosio::setabi {"account":"liyc111","abi":{"types":[],"structs":[{"name":"hi","base":"","fields":[{"name":"user","t... liyuechun:build yuechunli$ cleos get code liyc111 code hash: e387951f9a18870f2c151fbceea5b279a3861bdabab58ea87a67296a8a6583d0 liyuechun:build yuechunli$

6. 執行合約

6.1 解鎖錢包

PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL是創建錢包是的密碼。

liyuechun:build yuechunli$ cleos wallet unlock --password PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL Unlocked: default
6.2 執行合約
liyuechun:build yuechunli$ cleos push action liyc111 hi '{"user":"liyc1215"}' -p liyc111 executed transaction: 9abcaec2711ce31c693e5124af507f34aa666702bd5bb230ec31ddd6903248a8 232 bytes 102400 cycles # liyc111 <= liyc111::hi {"user":"liyc1215"} >> Hello, liyc1215 liyuechun:build yuechunli$ http://liyuechun.org/2018/04/18/eos-contract/

總結

以上是生活随笔為你收集整理的第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。