bsv链上双人玩剪刀石头布

本文介绍了如何在Bitcoin SV区块链上实现无需第三方的双人剪刀石头布游戏。玩家A先发起合约并押注,玩家B随后参与并追加押注,通过智能合约验证获胜规则并进行结算。提供了合约源码和测试案例,强调了玩家A的公钥必须在玩家B参与之后公开的重要注意事项。
摘要由CSDN通过智能技术生成

链上玩剪刀石头布(Rock Paper Scissors)

无需依赖外部Oracle,无需依赖可信第三方,我们即可以在Bitcoin SV区块链上进行双人剪刀石头布游戏。流程如下:

  1. 玩家A发起合约,压2bsv,并附带公开hash(a | pubkey)。a是R、P、S之一;pubkey 是A的未公开的公钥。

  2. 玩家B花费如上utxo,追加1bsv,并公开b。b是R、P、S之一。

  3. A发起结算,合约需验证A的公钥和签名:

    获胜规则为:P > R > S > P,如果相同则平局。

   if a > b :
      A win,得3bsv
      B lose, 得0bsv
   else if a < b:
      A lose, 得1bsv
      B win, 得2bsv
   else:
      A draw, 得2bsv
      B draw, 得1bsv

实现

玩家A可以发起抵押任意额度的bsv到合约,玩家B当前只需追加1半额度。但为了提高玩家A结算的积极性,可以适当降低玩家B的抵押比例。

合约源码:rps.scrypt
部署代码:rps.js

<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值