重新学习eos智能合约开发

5개월 전

gitpod1.png

大家好,我已经两年没有动eos了,不过最近有朋友要帮忙做eos智能合约,我又从新学起来,过了两年,eos代码已经进步了很多,比如说两年前,想要下载安装eos程序需要8gb ram,安装的时候困难重重,我当时自己电脑没8gb ram还跑去租digital ocean的vps,每个月支付40美金,一年下来就480美金了,对新手非常不友好,现在想写eos智能合约已经不用安装了,直接用gitpod连接你的github就可以网上写你的代码,比如上面这张图

主要方法是去https://github.com/EOSIO/eosio-web-ide ,然后按fork,fork了后,可以直接用google chrome 开https://gitpod.io/#https://github.com/your-github-account/eosio-web-ide

然后就可以写代码,compile,deploy contract,这里是local node,所以当你把游览器关掉,或电脑关掉后,里面的所有帐户,代码,database全部都会消失,不过如果你只要把代码保存好在你自己的电脑,把代码copy paste回去也是很快的,当你把eos智能合约写好测试完毕后,你可以考虑把智能合约上主链,那么你的eos智能合约就永远被保存到链上

我发现代码也更新了不少,以前查error是用assert,现在用check,

以前查询外面的货币打进来是用以下的代码
extern "C" {
void apply(uint64_t receiver, uint64_t code, uint64_t action) {
if(code==receiver)
{
switch(action)
{
EOSIO_DISPATCH_HELPER( horse, (hi)(getresult)(droptable) )
}
}
else if(code=="eosio.token"_n.value && action=="transfer"_n.value) {
execute_action( name(receiver), name(code), &horse::bet);
}
else if(code=="sandtoken"_n.value && action=="transfer"_n.value) {
execute_action( name(receiver), name(code), &horse::bet);
}
}
};

新的代码是以下
hodl(name receiver, name code, datastream<const char*> ds) : contract(receiver, code, ds), hodl_symbol("EOS", 4) {}

[[eosio::on_notify("eosio.token::transfer")]]

很多地方都缩短了很多,真是节省写代码的时间

谢谢阅读

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending