Wie kann ich eth zu einer bestimmten Zeit senden?
Falls der ICO-Crowd-Sale um 9:00:00 UTC beginnt, wie kann ich txid um 9:00:00 genau dann machen, wenn ich eth sende?
Sie können eine doppelte Oraclize-Abfrage mit einer berechneten Verzögerung verwenden.
Dies funktioniert wie folgt:
pragma solidity ^0.4.XXX;
import "github.com/oraclize/ethereum-api/oraclizeAPI.sol";
contract ExampleContract is usingOraclize {
uint public time;
uint public delay;
uint public desired_time; // 9:00 of desired day/month and year on UNIX time format
event LogConstructorInitiated(string nextStep);
event LogTimeUpdated(string time);
event LogNewOraclizeQuery(string description);
function ExampleContract() payable {
LogConstructorInitiated("Constructor was initiated.");
delay = 0;
updateTime();
}
function __callback(bytes32 myid, string result) {
if (msg.sender != oraclize_cbAddress()) revert();
time = parseInt(result,0);
LogTimeUpdated(result);
if(time < desiredtime)
delay= desiredtime - time;
updateTime();
else if(time == desiredtime || time > desiredtime){
//do what you want to do at 9:00
}
}
function updateTime() payable {
if (oraclize_getTime("URL") > this.balance) {
LogNewOraclizeQuery("Oraclize query was NOT sent, please add some
ETH to cover for the query fee");
} else {
LogNewOraclizeQuery("Oraclize query was sent, standing by for the answer..");
oraclize_query(delay, "URL", "xml or json(parsing of the xml or json").parse.parse....;
}
}
}
Hier haben Sie Informationen über Oraclize und wie man es benutzt : https://docs.oraclize.it/#ethereum-quick-start-the-query-id
Hier haben Sie auch eine Website, auf der Sie Oraclize-Abfragen für die aktuelle Zeit im UNIX-Format durchführen können : https://timezonedb.com/api
Ich habe den Code schnell erstellt, vielleicht ist eine schnelle Überarbeitung erforderlich, aber damit können Sie eine gute Vorstellung davon bekommen, was Sie tun können / müssen.
Ich hoffe es hilft!
Ich glaube, Ihre beste Wahl in diesem Moment ist der Ethereum-Wecker
Kronos