EOS延迟交易实践

      EOS智能合约开发实践一直缺延迟交易的实例,同时正好昨晚补上了DexChain基金模型的一个延迟逻辑(TODO)。今天正好和大家一起分享下延迟交易怎么写。 这里的延迟交易就是defer transaction。

 

应用场景

    eosio.system系统合约的undelegatebw使用了该功能,用户赎回CPU抵押的CPU时,需要3天才会到账。这个就是通过会发起一个延时3天的refund交易实现的。

 

示例实践

 

    创建delayedtransaction目录

mkdir delayedtransaction

    用vim等工具新建delayedtransaction.cpp文件,并输入如下内容

 

编译

js4eos compile -o delaytransaction.wasm delaytransaction.cpp

js4eos compile -g delaytransaction.abi delaytransaction.cpp

 

执行

    需要注意的是,每个延迟交易需要设置一个id, 如果存在相同的则会报错。也可以通过send的最后一个参数传true(允许替换)避免这个错误。

然后可以在浏览器里浏览延迟交易详细信息,比如eosx.io

最大延迟时间

    这个从genesis.json文件可以查询到

 

实践源码

    https://github.com/itleaks/eos-contract/tree/master/delaytransaction-exp

|**************************************************
* 本文来自CSDN博主"爱踢门",喜欢请点关注
* 转载请标明出处:http://blog.csdn.net/itleaks
***************************************************|

如果你对EOS,ETH技术及开发感兴趣,请入QQ群讨论: 829789117


如需实时查看最新文章,请关注公众号"区块链斜杠青年",一起探索区块链未来

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值