EOS 智能合约源代码解读 (7)合约开发示例
生活随笔
收集整理的這篇文章主要介紹了
EOS 智能合约源代码解读 (7)合约开发示例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
官方提供了一個(gè)工具eosiocpp,它可以按照固定的模板創(chuàng)建一個(gè)新的智能合約。eosiocpp可以創(chuàng)建2個(gè)合約文件(曾經(jīng)是三個(gè)文件),它們僅僅包含了合約的框架。
1. HelloWorld合約代碼如下:
testcc.hpp: /*** @file* @copyright defined in eos/LICENSE.txt*/ #include <eosiolib/eosio.hpp>testcc.cpp: #include <eosiolib/eosio.hpp>using namespace eosio;class [[eosio::contract("hello")]] hello : public contract { public:using contract::contract;[[eosio::action]]void hi( name user ) {print( "Hello, ", user);} };EOSIO_DISPATCH( hello, (hi))- EOS 合約中的動(dòng)作都需要 [[eosio::action]] 屬性來(lái)修飾
- EOSIO_DISPATCH 宏在 <eosiolib/dispatcher.hpp> 頭文件中定義,該宏的第一個(gè)參數(shù)是合約的名字,第二個(gè)參數(shù),是多個(gè)小括號(hào) () 擴(kuò)起來(lái)的多個(gè)動(dòng)作的方法名。
2. 部署
step1. 編譯合約
eosio-cpp -I include -o hello.wasm hello.cpp --abigenstep2. 創(chuàng)建賬戶
cleos create account eosio hello EOS7qyuXyBtqMYLYBveB3APTiWeyu1d6Z4mTLX1mMP5ZU3kWUqXcJ -p eosio@active # -p指定賬戶的權(quán)限step3. 部署合約
cleos set contract hello CONTRACTS_DIR/hello -p hello@activestep4. 調(diào)用合約
cleos push action hello hi '["bob"]' -p alice@active參考
總結(jié)
以上是生活随笔為你收集整理的EOS 智能合约源代码解读 (7)合约开发示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: EOS 智能合约源代码解读 (1)总体说
- 下一篇: EOS 智能合约源代码解读 (9)boo