【solitidy编程】-生成随机数算法

栏目: 编程工具 · 发布时间: 6年前

内容简介:fomo3d的空投机制就是这中算法。以太坊代码:生成一个5位的随机数

通过区块因素

引用

fomo3d的空投机制就是这中算法。

以太坊代码:生成一个5位的随机数

uint256 winningNum = uint256(keccak256(abi.encodePacked(
                    (block.timestamp).add
                    (block.difficulty).add
                    ((uint256(keccak256(abi.encodePacked(block.coinbase)))) / (now)).add
                    (block.gaslimit).add
                    ((uint256(keccak256(abi.encodePacked(msg.sender)))) / (now)).add
                    (block.number)
                ))) % 100000;

转乘数字格式:

abi.encodePacked(
    block.timestamp +                                   // 区块的时间戳
    block.difficulty +                                  // 区块难度
    keccak256(abi.encodePacked(block.coinbase)) / now + // 矿工的地址hash 除去 区块的时间戳
    block.gaslimit +                                    // 区块的gas上线
    keccak256(abi.encodePacked(msg.sender)) / now +     // 开奖人的地址的hash值 除以 区块的时间戳
    block.number                                        // 区块的数量
    ) % 100000

随机数生成是由 区块的时间戳区块难度矿工的地址hash区块的gas上线开奖人地址区块的数量 等因随机数共同决定。

通过签名算法

Dice2Win


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法竞赛入门经典

算法竞赛入门经典

刘汝佳 / 清华大学出版社 / 2009-11 / 24.00元

《算法竞赛入门经典》是一本算法竞赛的入门教材,把C/C++语言、算法和解题有机地结合在了一起,淡化理论,注重学习方法和实践技巧。全书内容分为11章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、基础题目选解、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法,覆盖了算法竞赛入门所需的主要知识点,并附有大量习题。书中的代码规范、简洁、易懂,不仅能帮助......一起来看看 《算法竞赛入门经典》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换