1 hello例子
#include
using namespace eosio;
class hello :public eosio::contract {
public:
using contract::contract;
/// @abi action
void hi( account_name user ) {
print("Hello, ", name{user} );
}
};
EOSIO_ABI( hello, (hi))
编译
将代码编译为Web程序集(.wast)
eosiocpp -o hello.wast hello.cpp
生成abi:
eosiocpp -g hello.abi hello.cpp
创建一个账户并上传合同:
cleos set contract myaccount ../hello -p myaccount
运行合同:
cleos push action myaccount hi '["user"]' -p myaccount
查看某个账户数据存储 table
cleos get table myaccount class test
参数介绍:
Create or update the contract on an account
Usage: cleos set contract[OPTIONS]account contract-dir[wast-file][abi-file]
Positionals:
account TEXT The account to publish a contract for(required)
contract-dir TEXT The path containing the .wast and .abi(required)
wast-file TEXT The file containing the contract WAST or WASM relative to contract-dir
abi-file TEXT The ABI for the contract relative to contract-dir
Options:
-h,--help Print this help message and exit
-a,--abi TEXT The ABI for the contract relative to contract-dir
-x,--expiration set the time in seconds before a transaction expires,defaults to 30s
-f,--force-unique force the transaction to be unique. this will consume extra bandwidth and remove any protections against accidently issuing the same transaction multiple times
-s,--skip-sign Specify if unlocked wallet keys should be used to sign transaction
-j,--json print result as json
-d,--dont-broadcast don't broadcast transaction to the network(just print to stdout)
-r,--ref-block TEXT set the reference block num or block id used for TAPOS(Transaction as Proof-of-Stake)
-p,--permission TEXT ... An account and permission level to authorize,as in 'account@permission'(defaults to 'account@active')
--max-cpu-usage-ms UINT set an upper limit on the milliseconds of cpu usage budget,for the execution of the transaction(defaults to 0 which means no limit)
--max-net-usage UINT set an upper limit on the net usage budget,in bytes,for the transaction(defaults to 0 which means no limit)
网友评论