Crypto Währungsadressen wie z.B. Bitcoin in NodeRed Dashboard validieren

Wie können Kryptowährungsadressen überprüft werden? Also wie können z.B. Bitcoin Adresse überprüft werden? Die Bitcoin Adressen habe wie so viele Adressen eine interne Checksumme, die mit sha256 gebildet wird. Das heißt, es wird zweimal einSHA-256 Hash auf die Adresse gemacht und die ersten 4 Bytes als Checksumme verwendet und an die Adresse angehangen.

Um es ganz einfach zu machen, habe ich einen NodeRed Node node-red-contrib-cryptography-address-check erstellt. Und dazu einen Flow, wo die Adresse nur eingegeben werden muss, und es dann automatisch auf Gültig oder Ungültig überprüft wird.

Dieser Node, muss also nur über die „Pallette hinzufügen“ Funktion geladen werden:

So sieht meine public „Buy me a coffee“ Adresse aus, die ist gültig:

Sobald man da auch nur ein Zeichen verändert, …stimmt natürlich die Checksumme nicht mehr und es wird ein Fehler angezeigt:

Der NodeRed-Flow, der im Docker-Kontainer auf einem Raspberry Pi unter portainer.io läuft, und auch ein paar Tests enthält sieht wie folgt aus:

Folgende Network Type können Optional verwendet werden (prod) default, (testnet) für das Testnetz und (both) für nichts.

Folgende Währungen werden unterstüzt:

Hier der JavaScript-Code für den Import