Datetime

需要周期時間計算oracle

  • September 19, 2018

我想每天在同一時間用區塊鏈進行計算。我知道每個礦工都有自己的時間。我想我必須找到一個神諭。任何的想法 ?

檢查https://www.ethereum-alarm-clock.com - 看起來像你需要的。不隸屬。

乙太坊鬧鐘旨在激勵分散的時間節點網路,確保您的預定交易將按時執行。

您可以在合約中編寫一個函式來進行計算,然後您可以使用名為 Aion (aion.ethpanrhron.com) 的服務安排該函式在 24 小時內執行。

在 GitHub 頁面 ( https://github.com/ETH-Pantheon/Aion/blob/master/README.md )中有幾個範例說明如何執行此操作

例如:

pragma solidity ^0.4.24; 

// interface Aion 
contract Aion { 
   uint256 public serviceFee; 
   function ScheduleCall(uint256 blocknumber, address to, uint256 value, uint256 gaslimit, uint256 gasprice, bytes data, bool schedType) public payable returns (uint,address);    
} 

// Main contract     
contract MyContract{
   uint256 public sqrtValue; 
   Aion aion; 
   address aionAccount; 

   function schedule_sq(uint256 number) public { 
       aion = Aion(0x10999AE703401312798EA437b02A9849fa43E5AB); 
       bytes memory data = abi.encodeWithSelector(bytes4(keccak256('sq(uint256)')),number);    
       uint callCost = 200000*1e9 + aion.serviceFee();
       uint256 txId;    
       (txId, aionAccount) = aion.ScheduleCall.value(callCost)( block.timestamp+1 day, address(this), 0, 200000, 1e9, data, true);
    }

   function sq(uint256 number) public { 
       sqValue = number**2; 
       schedule_sq(sqValue)
   } 

   function () public payable {} 
   }

在此範例sq(uint256 number)中,每 24 小時呼叫一次執行平方運算的函式 ( )。

Aion 有幾個優點,最重要的是可以返回所有未使用的氣體。

您可以在上面的連結中獲得更多資訊。也可以在測試網上免費使用(ropsten)

希望這可以幫助。

引用自:https://ethereum.stackexchange.com/questions/59085