Solidity-安全的远程购买合约

  • https://www.365seal.com/y/eMnPOAmZpJ.html
  • https://solidity-cn.readthedocs.io/zh/develop/solidity-by-example.html#id7

value是商品价格。买卖双方在达成交易前,都要向合约质押两倍value的保证金

  1. 卖方创建合约constructor时,要将2倍value的以太币交给合约锁定。
  2. 买房调用合约confirmPurchase,质押自己2倍value的以太币。
  3. 卖方发货给买方。
  4. 买方确认收到商品,调用confirmReceived,将value的保证金退还买方,剩余的钱(卖方保证金+商品买款=3*value)都打给卖方。

这样做的好处是

  • 如果不论买方恶意不确认收货,买方无法取回自己抵押的保证金2*value,买方仍然无法弥补自己的亏损。
  • 如果买方恶意不购买,卖方可以调用abort终止本次买卖。
  • 如果买方提交保证金后,卖方恶意不发货,买方可以不确认收货,使得卖方无法取回自己的保证金2*value,卖方无法弥补亏损。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值