首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于加密货币块头分配赠品

基于加密货币块头分配赠品
EN

Stack Overflow用户
提问于 2018-02-07 14:00:26
回答 1查看 26关注 0票数 0

我正在构建一个项目,每周一都会做一个赠品。有三个奖,基本奖,“幸运”奖和头奖。基本奖金的发放比例为70%,幸运奖金的发放比例为25%,大奖奖金的奖励比例为最后5%。

每周一都会有很多人获奖。赠品中的每个人至少可以获得基本的奖品。

现在,我只是生成一个随机数,然后在本地计算机上将奖品分配给每个参与者。这是可行的,但参与者必须相信我没有操纵赠品。

我想通过使用区块链作为随机数生成器来改进这个赠品。问题是我不知道如何在技术上做到这一点。

这是我开始弄清楚如何做到这一点:当创建赠品时,块高度被定义为随机性的来源。每个参与者都有一个userID。当找到特定的块编号时,块哈希链接到userID,然后进行哈希。然后,将得到的散列在赠品中定义的赔率上进行“排列”。

我搞不懂的部分是如何做“测距”。我认为它可能涉及模运算符,但我不确定。如果得到的哈希值落在5%的范围内,那么该用户将获得大奖。如果散列落入70%的范围,那么他将获得基本奖励,依此类推。

EN

回答 1

Stack Overflow用户

发布于 2018-02-10 02:47:58

我想出来了,解决方案如下:

int(hashlib.sha256(block_header + userID).hexdigest(),16) / float(2**256)

您将散列转换为一个整数,然后将该整数除以2**256。这给出了一个从0到1的小数,可以将其与random.random()进行比较以获得奖金。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48656958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档