如何实现一个类似于猜数字的游戏

i am duck i am duck 提出于 2021-10-13 14:09 5107 浏览

A、B玩家选择两个选项的值(例如,选项可能是{0,1},{'a',b'},{True,False},等等)。如果两个玩家选择相同的值,则第一个玩家获胜;如果玩家选择不同的值,则第二个玩家获胜。 因为链上的数据都是透明的,A玩家猜了之后,B通过看合约源码之类,总能解析出A的输入。如何解决呢

最佳答案

2021-10-14 10:33

你这个场景通常使用 区块链随机数 - 承诺模式 , 在玩家提交选项的时候, 不是直接提交结果,而是提交结果的加密信息(提交一个承诺),通过这种加密信息的方式,来保证无法猜测提交结果。

待所有玩家都参与之后(或者开奖后),玩家再次提交结果与加密信息,在链上验证提交结果与加密信息的一致性,再根据结果发奖励。

Tiny熊

擅长:智能合约,以太坊 · 采纳率 33% · 回答于 2021-10-14 08:36

其它 1 个回答

lilianwen 软件开发工程师 2021-10-14 10:00

写回答

你需要登录后才可以回答问题,登录