引用
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