Sweeping eines privaten Bitcoin-Schlüssels mit PHP

Gibt es ein PHP-Skript, mit dem ein privater Bitcoin-Schlüssel validiert und auch die öffentliche Adresse aus dem Schlüssel abgerufen wird?

Mein Ziel war:

  1. verifizieren Sie den privaten Schlüssel
  2. Rufen Sie die öffentliche Adresse mit diesem privaten Schlüssel ab
  3. Überprüfen Sie das Guthaben mit einer externen API
  4. Sweep wenn Saldo > 0

Ich weiß, dass ich es testen kann, indem ich ihm ein paar Bitcoins schicke oder Elektrum verwende, um den Sweep zu versuchen, aber sagen wir, ich habe 100 private Schlüssel, die ich verifizieren muss, wie würde ich das anstellen?

Was definieren Sie in Schritt 1 als gültigen privaten Schlüssel? Wenn der Schlüssel im ECDSA-Bereich secp256k1 liegt? Das wären fast alle 256-Bit-Zahlen. ( de.bitcoin.it/wiki/… )
Welches Format haben Ihre privaten Schlüssel?
Fragentitel bearbeiten: Wie lösche ich die Konten von 100 Personen, deren private Schlüssel ich gehackt habe?

Antworten (1)

Kein MVP-PHP-Code, aber einige Bits, die helfen könnten.

  1. verifizieren Sie den privaten Schlüssel

Angenommen, Sie möchten, dass sich ein privater Schlüssel im ECDSA-Bereich secp256k1 befindet. Sie können überprüfen, ob der Schlüssel eine Zahl zwischen 0x1und ist 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140. Werfen Sie einen Blick in den Bitcoin-Wiki-Eintrag zu privaten Schlüsseln über den Schlüsselbereich .

  1. Rufen Sie die öffentliche Adresse mit diesem privaten Schlüssel ab

Hier könnte Ihnen die Bibliothek BitcoinECDSA.php weiterhelfen. Besonders

$bitcoinECDSA->setPrivateKey($privateKey);
$bitcoinECDSA->getAddress(); 

3 + 4. Überprüfen Sie das Gleichgewicht mit einer externen API und fegen Sie es ab, wenn das Gleichgewicht > 0 ist

Dieser Schritt kann leicht kombiniert werden. Wenn Sie sich auf einen Drittanbieter verlassen möchten, können Sie die Block.io PHP API und Libary verwenden . Sie haben einen Beispiel-PHP-Code zum Sweeping.

Zu Ihrer Information, dies benötigt das PHP - gmp -Modul.