Wie plane ich eine Bitcoin-Transaktion?

Ich wollte nur wissen, ob Sie eine Bitcoin-Transaktion planen könnten. Zum Beispiel möchte ich genau um 16:00 Uhr BTC an jemanden senden, aber an meinem aktuellen Ort ist es 13:00 Uhr. Ist das möglich, damit mein Wallet die BTC nach einer gewissen Zeit irgendwie automatisch verschickt?

Dies kann tatsächlich auf der Blockchain selbst erfolgen, wenn Sie den nLockTime- Wert festlegen. Aber das würde wahrscheinlich bedeuten, eine rohe Transaktion durchzuführen.

Antworten (2)

Option 1

Ich bin mir nicht sicher, auf welcher Plattform Sie sich befinden, aber wenn Sie ein Linux oder einen Mac verwenden, können Sie die folgenden beiden Befehle kombinieren (Quellen hier und hier . Überprüfen Sie auch das at Handbuch ):

echo "ls -l" | at 07:00 

und

 bitcoind sendtoaddress <bitcoinaddress> <amount>

so etwas zu machen:

echo "bitcoind sendtoaddress    1MAtHias8yvaLcDgckkG5QnVLY7ucBZrGv 0.01" | at 07:00 

um mir morgens um 07:00 Uhr 0,01 BTC zu schicken. Ich denke, Ihr Computer sollte dafür eingeschaltet bleiben, da er keine Transaktion senden kann, wenn er ausgeschaltet ist.

Option 2

Sie können auch damit arbeiten sleep(nur Mac und Linux):

sleep 120 && bitcoind sendtoaddress 1MAtHias8yvaLcDgckkG5QnVLY7ucBZrGv 0.01

Die Zahl dahinter sleepist die Anzahl der Sekunden, in denen nichts ausgeführt wird. Jetzt sendet es mir nach 2 (= 120/60) Minuten 0,01 BTC. Der &&wird zuerst die linke Seite ausführen. Wenn dies erfolgreich ausgeführt wurde, wird die rechte Seite ausgeführt. Es ist aufschlussreicher, aber Sie müssen die Anzahl der Sekunden berechnen und ist so genau wie Ihre Berechnungen.

Möglichkeit 3

Für Windows:

timeout 120 && bitcoind sendtoaddress   1MAtHias8yvaLcDgckkG5QnVLY7ucBZrGv 0.01

timeoutist die Sleep-Variante von Windows. Funktioniert wahrscheinlich nicht unter Windows XP, funktioniert hier aber unter W8 und sollte unter W7 funktionieren. Das &&macht dasselbe wie in Option 2 .

Ich benutze Windows und benutze Blockchain. Gibt es eine andere Möglichkeit?
Darauf habe ich keine Antwort. Ich werde meine Antwort jedoch hinterlassen, da sie eine Lösung für jemand anderen sein kann, der diese Seite später besucht.
Selbst wenn ich den Client herunterlade, kennen Sie den Befehl für Windows?
Es gibt die gleichen Befehle wie bei den anderen Clients. Siehe den zweiten Link aus meiner Antwort für die Befehle. Ein Screenshot zeigt, wie Sie es verwenden können, nehme ich an
Da Sie ein wenig Erfahrung haben, können Sie sich bitte einfach die Blockchain-API ansehen und mir helfen, einen Befehl zu erstellen, damit ich ihn zum Senden verwenden kann. Ich denke, die Blockchain-API sollte das ermöglichen.
Ich bin überhaupt nicht in PHP. Ich denke, Sie können den gleichen Ansatz verfolgen wie ich in Option 2 (und 3). Ansonsten kannst du etwas mit der Uhrzeit machen und prüfen, ob es an einem bestimmten Tag 16:00 Uhr ist. Wenn das wahr ist, führen Sie den Sendebefehl https://blockchain.info/nl/merchant/$guid/payment?password=$main_password&second_password=$second_password&to=$address&amount=$amountaus (ab hier ). Ich glaube, es gibt keine eingebaute Option, um eine Transaktion zu verschieben.
Um die Antwort/Kommentare von Mathias weiterzuverfolgen. Für den Zugriff auf die von ihm verlinkte PHP-API können Sie wget ( gnuwin32.sourceforge.net/packages/wget.htm ) verwenden. Und um es zu einem bestimmten Zeitpunkt einmal (oder wiederholt) auszuführen, können Sie den in Windows integrierten Taskplaner verwenden, den Sie finden, wenn Sie Computerverwaltung->Systemprogramme->Taskplaner->Taskplaner-Bibliothek öffnen
Dem dritten Befehl, den Sie in Option 1 geben, fehlt ein echo; Wie geschrieben, wird es die Münzen sofort senden und dann um 07:00 Uhr versuchen, die Transaktions-ID auszuführen.
@mattburnett das ist wirklich hilfreich. Aber warum brauche ich wget, wenn ich die PHP-Datei einfach mit dem Scheduler öffnen kann?
Mir war nicht bewusst, dass Sie eine URL mit dem Scheduler öffnen können; Ich benutze es nicht viel. Wenn Sie dann mit wget überspringen können.

Sie können ein PHP- oder Python-Skript haben und es laufen lassen, bis die Zeit gekommen ist, etwa so:

<?php
$hour = date('G'); // 0 .. 23
// YOUR VARIABLES FOR THE JSON REQUEST SHOULD GO HERE
//if time = 16 
if ($hour == 16) { 
    $json_url = "https://blockchain.info/merchant/$guid/payment?password=$firstpassword&to=$addressa&amount=$amounta";  
$json_data = file_get_contents($json_url);

 } ?>

Dies ist eher ein Pseudocode für das, was ich meinte, und funktioniert möglicherweise nicht ohne Änderung.