Können Sie beim Bitcoin-Block-Hashing-Algorithmus (PHP, C, Python, Javascript) helfen? [geschlossen]

Können Sie beim Bitcoin-Block-Hashing-Algorithmus (PHP, C, Python, Javascript) helfen?

Ich habe wirklich hart daran gearbeitet, einen Block-Hashing-Algorithmus in einfachem Javascript zu schreiben. Leider generiert der entwickelte Javascript-Code nicht den korrekten Hash.

Gestern Python für Windows XP 32 installiert und Python-Hashing-Code von https://en.bitcoin.it/wiki/Block_hashing_algorithm ausgeführt

und führen Sie den Code aus, um den richtigen Hash zu erhalten.

Python ist sehr langsam, daher plane ich, den Block-Hashing-Algorithmus in C http://pastebin.com/bW3fQA2a zu testen

in PHP und ändere meinen Javascript-Code, um den richtigen Hash zu generieren.

Der nächste Schritt besteht darin, gehashte Blöcke von Blockchain über die getJason-API herunterzuladen, um jede Nonce zu überprüfen, die für die in der Vergangenheit gehashten Blöcke generiert wurde.

Kannst du mir helfen oder mitmachen?

Können Sie uns Ihre wirklich hart arbeitende Implementierung in JS zeigen? Wenn Sie wirklich gearbeitet haben (nicht nur 10 Minuten lang gegoogelt, kopiert und versucht haben, es auszuführen), haben Sie eine Idee, wie Sie Ihr Skript debuggen können. In diesem Fall können Sie es eingrenzen und eine normale Frage zu SO stellen. Auch wenn Python sehr langsam ist (wie langsam ist es? langsam, sehr langsam, furchtbar langsam sind keine wirklich guten Metriken, um die Geschwindigkeit eines Programms zu beschreiben), warum glauben Sie, dass PHP und JS schneller/viel schneller/unglaublich schnell wären?

Antworten (2)

Ein Beispiel für Bitcoin-Hashing in JS finden Sie hier: https://github.com/KaSt/Jilaku Es ist ein Repo, das ich zuerst gegabelt und dann modifiziert habe, um einen "Web Miner" auf GAE zu haben. Ich habe das Ding als Spielzeug angefangen und dann die Idee fallen gelassen... Weil...

Nun, vor dem "weil", ich kenne immer noch nicht Ihren eigentlichen Zweck. Falls es darum geht, zu experimentieren und die Grundlagen zu lernen, wie ein Miner arbeitet ... Dann reicht jede Sprache aus.

Falls Ihr Ziel darin besteht, einen voll funktionsfähigen und effizienten Miner zu produzieren, dann werde ich mit dem „weil“ fortfahren.

Ich habe die Idee, einen Javascript-Miner zu entwickeln, verworfen, weil kein interpretierter Code so schnell sein kann wie moderne Mining-Methoden, zu denen ASIC-Chips und vieles mehr gehören. Ihr Computer wird ewig laufen, könnte einen guten Hash finden, aber bis er ihn gefunden hat, könnten andere Miner 10 Blocks voraus sein. Dieser Javascript-Miner erreicht einige tausend Hashes pro Sekunde. Ein einzelnes ASIC-USB-Ding erreicht 300 Millionen Hashes pro Sekunde.

Falls Sie tatsächlich experimentieren möchten, könnte dieser JS-Code hilfreich sein.

Spaß haben!

Danke. E-Mail-Progranismus - keine Antwort Getestet wurde jeder einfache Javacsript-Miner, der behauptete zu funktionieren, keiner funktionierte für mich.

" Laden Sie den vollständigen Quellcode herunter. Sie benötigen eine Google App Engine-Anwendung, die definiert und zum Hochladen des Codes bereit ist. Ändern Sie die app.yaml entsprechend Ihrem Anwendungsnamen, benennen Sie config.py.sample um oder kopieren Sie sie in config.py und ändern Sie sie in Verwenden Sie Ihre Pool-Anmeldeinformationen. Öffnen Sie die „Ninja“ w.html-Seite in Ihrem App-Pfad und los geht’s zu meiner!“

Ich brauche Google App Engine nicht für meinen Block-Hashing-Algorithmus in einfachem JS. Jetzt muss ich getJSON ausführen, um Blockheader von blockchain.info über die API abzurufen (funktionierte nicht, da ich keinen Webserver betreibe).

Sie haben genau recht. Block-Hashing in einfachem JS ist genau für Bildungszwecke (Offline-Modus), um in der Vergangenheit gehashte Blöcke zu überprüfen und mehr über Bitcoin-Mining zu erfahren.

Nie gesehen, dass ByteSwap, binarystring2hexstring , hexstring2binary string, littleEndian in einfachem Javascript implementiert wurden, um für mich zu arbeiten.

Testen Sie einfach einen beliebigen JS-Code von einer beliebigen Website, von dem behauptet wird, dass er funktioniert.