Gehirn Smart Contract mit Solidity auf der Ethereum Blockchain compilieren und deployen mit Remix IDE auf Ethereum Virtual Machine (EVM)

Heute wollen wir ein Solidity Contract (Smart-Contract) auf der Blockchain mit der Remix-IDE im Browser schreiben. Dafür verwenden wir die Programmiersprache Solidity. Hier ein kleiner Überblick mit einer Mindmap (Danke Dr. Kleinhirn.eu) zu Sprache

Die Online Remix-IDE mit der Doku Remix-IDE-Doku sieht so aus:

Dann legen wir unseren Smart-Contract an, der den IQ mit Gebühren auf der Blockchain speichert und auch lesen kann.

Wir erstellen eine neue Datei Gehirn.sol „Gehirn Smart Contract mit Solidity auf der Ethereum Blockchain compilieren und deployen mit Remix IDE auf Ethereum Virtual Machine (EVM)“ weiterlesen

WordPress auf Sicherheitslücken überprüfen mit WPScan auf einem Raspberry PI unter Debian – es muss nicht immer Kali sein und “ I Still Have Faith In You“

Millionen von Websites werden mit WordPress betrieben und belegen mit ca. 62% des Marktanteils in der CMS-Welt die Nummer eins. Vor 6 Jahren hatte ich hier schon mal berichtet, wie WPScan mit Kali Linux genutzt werden kann. Dort ist es schon vorinstalliert. Aber man kann es auch auf einem Debian Linux auf einen Raspberry Pi installieren und laufen lassen.

Hier mal ein Beispiel auf einem Pi Zero. Es gibt kein Package für wpscan. Aber es läuft unter Ruby, und das kann man leicht installieren.

Also wer ein WordPress am laufen hat, könnte seine eigene (und nur die!) Installation auf Lücken überprüfen, und nicht nur das. WPScan ist eine kostenlose Software, mit der die sicherheitsrelevanten Probleme auf einer WordPress-Site identifiziert werden können. WPScan kann ua.:

  • Die verwendete WP Version ausgeben
  • Alle installierten Plugins listen
  • Alle installierten Themen listen
  • Verzeichnis Listing
  • WP Versions ausgabe
  • Bruce force Usernamen, alle User Listen
  • Suchen nach vergessene Backups
  • DB dumps
  • Media Dateien listen
  • Sicherheitslücken ausgeben

Die Installation kann in ca. 1 Stunde wie folgt durchgeführt werden:

„WordPress auf Sicherheitslücken überprüfen mit WPScan auf einem Raspberry PI unter Debian – es muss nicht immer Kali sein und “ I Still Have Faith In You““ weiterlesen

Treibt ABBA – „Don’t Shut Me Down“ den BTC Kurs auf über 50 k ?

Wer kennt nicht das Problem. Man wartet auf den Eingang einer Zahlung oder auf das neue ABBA Album und schaut mehrfach ob sie/es schon da ist.

Oder wie lautet mein Kontostand?

Oder auch in diesem Fall, gib mir eine Nachricht, oder schalte den Button grün, wenn eine „Buy me a Coffee“ Spende eingegangen ist.

Oder mache das Licht an, wenn eine BTC Zahlung eingegangen ist. Oder für Hochzeit, den QR-Code neben der Kamera aufhängen und bei einzahlung ein Foto auslösen 😉

Oder, oder oder … „I Still Have Faith In You“ …

All das macht dieser kleine Flow. Und warum soll das Dashboard nicht den Kontostand anzeigen?

„All the things I could do
If I had a little money
It’s a rich man’s world
Money, money, money
Must be funny
In the rich man’s world
Money, money, money
Always sunny
In the rich man’s world
Aha

Die Funktion ist einfach, in dem Funktions-Node die BTC Adresse eingeben. Die wird dann über die Web-API von https://mempool.space/ abgefragt. Ohne Anmeldung und Paswort möglich. Und schon kann man alles schalte was man will in Abhängigkeit des Kontostand! Cool. Bin ja gespannt, wann der obere Button für den Kaffee eine Aktion auslöst.

Das kanns Du leicht über die Buy my a coffee: bitcoin:bc1qj4grttyhk2h5wqask3nku70e3qtycssz5kvw5l tun. … I Still Have Faith In You „Treibt ABBA – „Don’t Shut Me Down“ den BTC Kurs auf über 50 k ?“ weiterlesen

DIVI-Intensivregister (Behandlungskapazitäten in der Intensivmedizin) per NodeRed automatisch abfragen und an das Handy senden

Nun sind die Anzahl der freien Intensiv-Bette aussagekräftiger als die Inzidenzen. Ldt. Ärzteblatt sind übrigens zumeist von schweren Verläufen und Todesfällen Ungeimpfte betroffen.
Gesund oder Krank - Impfbeginn in Deutschland

Deshalb mal hier ein kleiner Flow, der die Daten bei RKI abfragt und täglich auf ein Handy per Pushover sendet. Die Daten kommen per JSON über die URL https://www.intensivregister.de/api/public/reporting/laendertabelle und liefern z.B. „DIVI-Intensivregister (Behandlungskapazitäten in der Intensivmedizin) per NodeRed automatisch abfragen und an das Handy senden“ weiterlesen

Wie können die Anzahl der ETH Transaktionen einer ETH-Adresse per Java REST-API abgefragt werden?

Wie hier schon beschrieben, geht das mit TWEtherScan zum Abfragen per REST-Api von Ethereum Informationen.

Hier die Beispiel Abfrage:

Und hier der entsprechende Java Code. „Wie können die Anzahl der ETH Transaktionen einer ETH-Adresse per Java REST-API abgefragt werden?“ weiterlesen

ETH Kurs und Gas Abfrage per Java Rest API via etherscan.io


Die ETH Kurse bez. Gas Preise können leicht per Java Rest-API erzeugt werden. Auch der Kontostand einer Adresse kann abgefragt werden (default BUY_ME_A_COFFEE). So überwache ich z.B. dauernd die

BUY_ME_A_COFFEE = 0x829F9e57c29ab683E964c76160B7B0BaB2727dD2

via Kommandozeile (und NodeRed) und warte bis jemand da was für Kaffee und Kuchen überweist. Der aktuelle Wert reicht noch nicht ganz für zwei Personen in Hannover 😉 Wer also mal testen will …

Wenn man sich auf etherscan.io angemeldet hat und einen Token hier hinzugefügt hat, kann man leicht die Abfrage machen. Es sind maximal 5 Abfragen pro Sekunde kostenlos möglich:

-k Api-Token

Ausgabe:

Der ganze Beispiel-Code liegt auf GitLab unter TWEtherScan.

Hier der Beispiel Code: „ETH Kurs und Gas Abfrage per Java Rest API via etherscan.io“ weiterlesen

Zweizeiler REST HTTPClient am Beispiel von AirLabs für Planespotter

Ab Java 11 gibt es den HTTPClient im JDK der den REST Zugriff vereinfacht. Das ist mit einem Zweizeiler getan:

Den Response kann man mit dieser Methode auswerten: „Zweizeiler REST HTTPClient am Beispiel von AirLabs für Planespotter“ weiterlesen

CA-Zertifikat mit Elliptic Curve Cryptography (ECC) Key auf dem Raspberry Pi für 10 Jahre erzeugen


Hier hatte ich beschrieben, wie ein 521-Bit private Elliptic Curve Cryptography (ECC) Key erzeugt werden kann. Mit diesem privaten Key können wir auch leicht eine CA-Zertifikat erzeugen. Einfach in dem Verzeichnis mit dem privaten Key ein:

openssl req -new -x509 -days 3650 -extensions v3_ca -key private-key.pem -out ecc-cacert.pem

eingeben und diese Fragen beantworten (oder einfach Return, dann wir der default verwendet).
Zuerst zweimal das gleich gutes Passwort eingeben. Wichtig ist auf jeden Fall der Common Name (e.g. server FQDN or YOUR name) Z.B. www.wenzlaff.de oä. und dann:

Und schon liegt ein CA-Zertifikat in der Datei ecc-cacert.pem.

Die kann mit cat ecc-cacert.pem angesehen werden: „CA-Zertifikat mit Elliptic Curve Cryptography (ECC) Key auf dem Raspberry Pi für 10 Jahre erzeugen“ weiterlesen

Wie können auf einem Raspberry Pi mit „apt list“ alle möglichen Packages updates angezeigt werden?

Mit
apt list –upgradable

Ausgabe z.B.

Es wird da leider nicht zwischen sicherheits und normalen updates unterschieden.

Ein

apt list

ohne Parameter gibt alle möglichen Packages.

Ein apt list –installed gibt dann alle auf dem Pi installierten Packages. Die kann man evl. in eine Datei schreiben mit

apt list –installed > installierte-packages.txt

Die Warnung die da kommt, kann man ignorieren.

Wenn man nach dem Namen eines Package sucht, einfach den Namen anhängen. Z.b. suchen wir nach vim

apt list vim
Listing… Done
vim/stable 2:8.1.0875-5 armhf

ArchUnit 0.20.1 Quicktest am Beispiel der Blockchain oder “Das ist historisch gewachsen” war gestern

Heute gilt „die Umsetzung von Architekturvorgaben lässt sich testen!“. Und das sogar mit JUnit 5! Cool.

ArchUnit
Wenn auch nur eine IllegalArgumentException gefixt wurde, mal gleich auf die aktuelle ArchUnit Version updaten. Ja, es läuft noch alles. „ArchUnit 0.20.1 Quicktest am Beispiel der Blockchain oder “Das ist historisch gewachsen” war gestern“ weiterlesen

Bitcoin (XBT) >38k wg. Amazon? – dann mal gleich ein private ECC Key auf dem Pi mit neuem OpenSSL 3.0.0-beta1 generieren

Ein 521-Bit private Elliptic Curve Cryptography (ECC) Key mit secp521r1 erzeugen. Kleiner geht auch 😉

Ganz einfach:

openssl ecparam -out private-key.pem -name secp521r1 -genkey

Ausgabe des keys mit cat private-key.pem z.B.: „Bitcoin (XBT) >38k wg. Amazon? – dann mal gleich ein private ECC Key auf dem Pi mit neuem OpenSSL 3.0.0-beta1 generieren“ weiterlesen

OpenSSL 3.0.0 beta selbst compilieren auf einem Raspberry Pi in ca. 1-2 Stunden

Auf einem Raspberry Pi kann leicht in ca. 1-2 Stunden die aktuellste OpenSSL 3.0.0 beta installiert werden.

Also dann mal erst das Archiv runterladen und die Checksumme prüfen, wie hier beschrieben.

Welche Algos. werden unterstüzt in diese Version? openssl dgst -list

Welche Verschlüsselungen werden in dieser Version unterstüzt? openssl enc -list

Checksumme SHA256 für OpenSSL mit shasum oder OpenSSL überprüfen

Wer die Beta 3.0.0 Version von OpenSSL lädt, kann die Checksumme nach dem Download so überprüfen:

OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?

OpenSSL ist ein in C entwickeltes Kryptographiewerkzeug für das Secure Socket Layer (SSL). Es enthält das Mehrzweck-Befehlszeilenwerkzeug /usr/bin/openssl. Das Programm eignet sich für kryptographische Operationen wie:

  • Erzeugung von RSA-, DH- und DSA-Schlüssel-Parametern
  • Erzeugung von X.509-Zertifikaten, CSRs und CRLs
  • Berechnung von kryptographischen Einweg-Hashfunktionen
  • Ver- und Entschlüsselung mit Chiffren
  • Prüfung von SSL-/TLS-Clients und -Servern
  • Bearbeitung von S/MIME-signierter oder verschlüsselter E-Mail

Welche Version ist auf dem Raspberry Pi installiert? Ein „OpenSSL nicht nur mit dem Raspberry Pi oder wie können Zertifikate selbst signiert werden mit eigener selbst-signierter Root-CA?“ weiterlesen

Gemeldete Telekom Sicherheitslücke mit Prepaid Karten immer noch in der „Hall of Fame“ vermerkt

Die Telekom hat immer noch eine von mir gemeldete Sicherheitslücke in ihren Prepaid Karten verlinkt. Auch wenn die Sicherheitslücke von tausenden Betroffenen Karten als Verpackungsfehler deklariert wird (so kann man das dann auch nennen 😉 ).

Aber immerhin gibt es in der Hall auf Fame immer noch diesen Eintrag (Stand: 21.07.2021) obwohl es schon über zwei Jahre her ist:

Hier der Link zur Dankseite der Telekom. Na ja, eine Zeile ist besser als nichts, danke Telekom.

Java: Array von Dubletten und null entfernen mit HashSet und zurück

Gesund oder Krank - Impfbeginn in Deutschland

Ergebnis: „Java: Array von Dubletten und null entfernen mit HashSet und zurück“ weiterlesen

Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche

Eine Suche in Datenbeständen ist keine einfache Sache! Mit Fuse.js ist ein Suche mit Fuzzylogik möglich. Fuse.js ist eine mächtige Lib ohne viele Abhängigkeiten.

Eine suche mit Fuzzylogik ist eine unscharfe Suche und wird z. B. in der Automatisierungstechnik, Medizintechnik, Unterhaltungselektronik, KI, Fahrzeugtechnik und anderen Bereichen der Regelungstechnik verwendet. Zum Beispiel suchen wir nach dem Ort: Hameln und es werden uns auch Ergebnisse aus Hannover angezeigt. Beide beginnen mit Ha.

Wir programmieren mal Beispielsweise eine Arztsuche mit einfache Gui, wie bei Google, mit nur einem Eingabefeld. So soll die Seite aussehen, und ein Eintrag ist auch gleich die Online-Hilfe:

Das Ergebnis, wenn wir z.B. nach Anästhesie suchen sieht dann so aus bei den 5 Beispiel Datensätzen: „Dynamische Fuzzy-Suche mit Fuse.js in Json Daten mit React App TWArztSuche“ weiterlesen