第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                不管是C、C++、Java還是任何其他語(yǔ)言,一般剛開始學(xué)習(xí)的時(shí)候,我們都會(huì)從HelloWorld開始,這篇文章主要講解EOS DAWN-V3.0.0?智能合約開發(fā)之Hello World。
在看這篇文章之前,請(qǐng)先閱讀下面兩篇入門文章。
- 第一篇 - 手把手教你理清EOS各種開發(fā)環(huán)境搭建來龍去脈
 - 第二篇 - EOS Currency 合約案例
 
1. 編寫合約代碼
在桌面創(chuàng)建一個(gè)文件夾,比如:0418,用Atom打開0418文件夾。新建文件Hello.cpp文件,并將下面的源碼拷貝到Hello.cpp文件中。
#include <eosiolib/eosio.hpp> #include <eosiolib/print.hpp>// 視頻網(wǎng)站:http://kongyixueyuan.com // 個(gè)人博客:http://liyuechun.org // 公眾號(hào):區(qū)塊鏈部落 // 進(jìn)技術(shù)群,請(qǐng)加微信(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文件內(nèi)容如下:
 
4. 創(chuàng)建錢包賬號(hào)
4.1 創(chuàng)建錢包
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必須保存好,解鎖錢包時(shí)需要使用到這個(gè)密碼。
4.2 創(chuàng)建兩組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: EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG4.3 向錢包導(dǎo)入私鑰
liyuechun:Hello yuechunli$ cleos wallet import 5K7QdknUZsF9apdBhD8TDMZGJjw8zJ8esYwS173YyFRv2453Z9t imported private key for: EOS5RU8VsYBLnN5snGeUKmt1sDDzpvQbGyW7LPP6qEryaFctYieCK liyuechun:Hello yuechunli$ cleos wallet import 5J8kComGiQHZyNmH6VvkHgtFggeQemazLpihKR4QW75DNkWTVdA imported private key for: EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG4.4 創(chuàng)建賬戶
liyuechun:cleos yuechunli$ ./cleos create account eosio liyc111 EOS5RU8VsYBLnN5snGeUKmt1sDDzpvQbGyW7LPP6qEryaFctYieCK EOS5fqiC3VFAJ1riMrKf8vzD28nqd4EpXvZGpXt6YewEBnH8DYinG5. 部署合約
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. 執(zhí)行合約
6.1 解鎖錢包
PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL是創(chuàng)建錢包是的密碼。
liyuechun:build yuechunli$ cleos wallet unlock --password PW5J3rx7Bfg9zb8Kf2owTytccFyJqtDTrqnUX8iBRRUvbwM8RyzRL Unlocked: default6.2 執(zhí)行合約
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/
總結(jié)
以上是生活随笔為你收集整理的第三篇 - EOS DAWN-V3.0.0 智能合约开发之Hello World的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 第二篇 - EOS Currency 合
 - 下一篇: Fabric源码分析-共识模块