【solitidy】生成隨機數算法

經過區塊因素

引用

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;

轉乘數字格式:dom

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上線開獎人地址區塊的數量等因隨機數共同決定。ui

經過簽名算法

Dice2Win3d

相關文章
相關標籤/搜索