Dann mal ein Quicktest mit der neuen Version, mit der CO2-Ampel. Version eintragen und …:
Server starten … „Passend zum #cryptocrash und #FTXInsolvenz ist heute eine neue Quarkus Version 2.14.0.Final released worden“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, Krypto und Blockchain
Dann mal ein Quicktest mit der neuen Version, mit der CO2-Ampel. Version eintragen und …:
Server starten … „Passend zum #cryptocrash und #FTXInsolvenz ist heute eine neue Quarkus Version 2.14.0.Final released worden“ weiterlesen
…zur Entspannung mal Portainer 2.16 und die Docker Container auf dem Raspberry Pi 4 updaten. Es gibt ja seit ein paar Tagen eine neue Version, wie hier auch angezeigt wird … „Portainer 2.16 CE (Migrated from Angular to React…) auf Docker update auf dem Raspberry Pi 4“ weiterlesen
Hier der Beispiel Code … „Stream Test mit BTC und ETH Adressen“ weiterlesen
Nun ist auch gestern die neue Eclipse 2022-09 veröffentlicht worden. Hier der Download.
Bei mir musste nach dem update auf die neue Version, noch das Maven Plugin eigenständig installiert werden. … „Quicktest Eclipse 2022-09 zum Ethereum Merge“ weiterlesen
Eben eine neue Eclipse Version 2022-06. Dann mal einfach ein bereits vorhandene Eclipse-IDE via „Help | Check for Updates“ aktualisieren. Wir nehmen mal für den Quicktest mein Blockchain Projekt, da ETH eh bei 1116 und XBT 21332 bei Block 740930 liegen.
In drei Block-Beiträgen hatte ich schon von einem NodeRed Node geschrieben, den ich mal programmiert hatte. Damit kann man leicht 12 Wörter aus der Wortliste die aus 2048 englischen Wörtern besteht erzeugen. Die Wortliste gibt es aber auch in japanisch, koreanisch, spanisch, chinesisch, französisch, italienisch, tschechisch und portugiesisch.
Wir haben mal beispielhaft diese 12 Wörter generiert:
shiver machine depth spoil click mind solid angle spoon menu moon two
Das entspricht diesen BIP39 Seed in Hex:
964d44c0f02d265fa5326e3c791d7f44e01eefeaaca5e17d06dcdad63543a32b21767852cf77631afaec2457a3c5b731cd56c9e2fd7678506ca82ccac06af659
12 Wörter haben eine Entropie 128 Bit und eine Checksumme von 4 Bit (= 132 Bit). Bei 24 Wörtern sind es schon 256 Bit Entropie und 8 Bit Checksumme (= 264 Bit).
Bei 12 Wörtern aus 2048 ergibt sich 2048^12 = 2^132 Möglichkeiten. Wie groß ist die Zahl? Wir fragen mal Google: „BIP39 oder „From mnemonic to seed“ oder 340 Undezillion 282 Dezillion 366 Nonmillion 920 Oktillion 938 Septillion 463 Sextillion 463 Quintillion 374 Billiarde 607 Billionen 431 Milliarden 768 Millionen 211 Tausend 456“ weiterlesen
… dann mal etwas auf der Blockchain tun … 😉
Nachher… „Report: 4 components have vulnerabilities, which is 10% of all components.“ weiterlesen
httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein. Um httpie auf dem Raspberry Pi zu installieren, ist nur ein Befehl nötig. Und schon hat man einen curl Ersatz mit intuitiver UI, JSON support, Syntax Hervorhebung und mehr. Alles wird in nur 8 Minuten in diesem Video gezeigt.
Folgende Befehle werden verwendet…
„Wie kann das Wetter oder der Bitcoin Kurs leicht mit httpie auf einem Raspberry Pi abgefragt werden?“ weiterlesen
Wie die Grafik zeigt ist er heute am 23.12.2021 schon 1129 GB (1,1 Terabyte) groß und das bei Block Nummer 13 858 158.
Der Archive Node ist schon auf 9,3 TB angewachsen. Mein Light Node kommt dagegen mit nur 438 MB aus 😉
Ein Node ist ein Computer, der Teil des Ethereum-Netzwerkes ist. Dieser speichert entweder eine unvollständige (Light Client, (Downloads all block headers, block data, and verifies some randomly)) oder vollständige (Full Node ( Downloads all blocks (including headers, transactions, and receipts) and generates the state of the blockchain incrementally by executing every block)) Kopie der Blockchain und schreibt diese permanent fort.
Da ich noch einen alten Raspberry Pi 2 B+ liegen hatte, habe ich da mal einen Light Node drauf installiert. Das geht mit dem Proof-of-Work Client Geth der für alle (viele) Betriebssystem vorliegt. … „Ethereum Light Node mit Geth Far Rim in go auf Debian Bullseye Raspberry Pi“ weiterlesen
Es gibt ja schon seit Oktober eine neue Version des Camunda BPMN 2.0 Modelers. Quicktest mit meinem Crypto-Workflow:
Download für die Version … „Quicktest: Camunda Modeler 4.11.1“ weiterlesen
Am 11. November letzten Jahres fürte der Ausfall von Infura dazu, dass viele zentrale Börsen die Abhebung von ETH und ERC20-Token gestoppt hatten. Zudem ließen sich Metamask, Uniswap und auch andere Anwendungen auf Ethereum nicht mehr nutzen. Infura scheint ein beliebter Dienstleister für Ethereum Nodes zu sein, auf den sich nicht nur kleinere Unternehmen und Projekte verlassen, sondern auch milliardenschwere Börsen wie Binance.
Für dieses Projekt soll dennoch mal die Infura-API verwendet werden, um den Kontostand einer ETH-Adresse zu ermitteln. Mit dem web3j Framework ist das auch in Java realisierbar. Hier der Architektur Aufbau:
Wir starten (wie immer) mit einem JUnit 5 Test: „ETH-Kontostand via Web3j und Infura mit Java in 5 Schritten abfragen“ weiterlesen
Es muss ja nicht immer remix sein, um ein Smart-Contract zu compilieren. Es geht auch wie oben dargestellt mit einem Maven-Plugin (oder Gradle) um mit Ethereum-Netzwerk zu interagieren. Also wie können Solidity Smart Contracts kompiliert und dafür eine Java-Wrapper-Klassen dafür generiert werden?
Wir nehmen als Beispiel mein bekannter Smart-Contract Gehirn.sol der den IQ auf der Blockchain festhalten kann und mit Solidity programmiert ist und speichern in in dem src/main/resources Verzeichnis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /** * @title Gehirn von Thomas Wenzlaff * @dev Mein Smart Contract mit solidity zum Speichern von IQ auf der Blockchain */ contract Gehirn { uint256 iq; constructor() public { // Mittelwert des IQ setzen iq = 100; } function setIQ(uint256 neuerIQ) public payable { iq = neuerIQ; } function getIQ() public view returns (uint256) { return iq; } function getBedeutung() public view returns (string memory) { if (iq <= 40) return "Keine Aussagekraft"; if (iq >= 41 && iq <= 70) return "Weit unterdurchschnittlich – Geistige Behinderung"; if (iq >= 71 && iq <= 79) return "unterdurchschnittlich"; if (iq >= 80 && iq <= 89) return "etwas unterdurchschnittlich"; if (iq >= 90 && iq <=109) return "Durchschnitt"; if (iq >= 110 && iq <=119) return "hoch"; if (iq >= 120 && iq <= 129) return "sehr hoch"; if (iq >= 130 && iq <= 159) return "hochbegabt"; if (iq > 160) return "Keine Aussagekraft"; } } |
Das Plugin wird mit mvn web3j:generate-sources gestartet und wie folgt in der pom.xml eingebunden: „Smart-Contract Wrapper für Java mit web3j-maven-plugin erstellen“ weiterlesen
Auf Maven Central publiziert und das bei diesen Pflegepersonalquotienten in Hannover und umzu …
Web3j ist ein sehr modularer und typsichere Library für Java und Android. Viele Module und Funktionen für das einfache arbeiten mit Smart-Contracts und Wallets auf der Ethereum-Blockchain (ETH), stehen bereit.
Hier nun ein kleines Beispiel, wie mit nur einer Java-Klasse und ein paar Zeilen Code ein eigenes File-Wallet im Json-Format erstellt werden kann. In einem weiteren Beitrag zeige ich dann, wie dieses File-Wallet in MetaMask importiert werden kann.
Folgende Abhängigkeiten sind in der pom.xml einzutragen, Web3j und die „alte“ (alt aber Apache) Json-Lib von Google, obwohl Web3j auch die Jackson Json Lib als transitive Abhängigkeit mitbringt. Es muss ja nicht immer Jackson sein 😉 „Java Ethereum Wallet mit Web3j erstellen“ weiterlesen
Seit zwei Wochen gibt es nun die neue Version vom Camunda Modeller 4.10.0. Wenn das kein Grund für ein Quicktest ist. Wir nehmen diesen Crypto Workflow da BTC >43k$:
Und nun die Token Simulation als Video:
Es scheint noch alles zu laufen. Das ist ua. neu „Quicktest: Camunda Modeller 4.10.0 mit Crypto BPMN Workflow“ weiterlesen
Wer eine lokale Blockhain erstellen will, kann das mit Ganache tun. Ganache ist auch mit den Bezeichnungen Trüffelmasse oder Pariser Creme als hochwertige Sahnecreme aus Kuvertüre und Rahm, die zum Füllen und Überziehen von Gebäck und Süßigkeiten verwendet wird bekannt.
Zurück zur lokalen Ethereum Blockchain. Mit dieser lokalen Blockchain werden die Entwicklungsprozesse sehr schnell. Ganache kommt als Kommandozeile (ganache-cli) und auch als GUI für Windows, Mac und Linux daher.
Was machen wir?
1. Install der lokalen Blockchain Ganache
2. Ganach local Netzwerk in MetaMask anlegen
3. Account in MetaMask anlegen
4. Eine Transaktion mit MetaMask auf lokaler Blockchain durchführen (1 ETH auf ein anderes Konto überweisen)
Nach dem Download und Install des Programms, kann man auf „Quickstart Ethereum“ klicken und man hat eine Blockchain mit 10 Adressen a 100 ETH wie hier zu sehen.
Nun wollen wir die 1. Transaktion auf der localen Blockchain mit MetaMask machen. Wir brauchen dazu die RPC-Server URL: http://127.0.0.1:7545 und die Chain ID: 1337.
Wir klicken in MetaMask auf „Spezieller RPC:
und geben die die URL und die Chain ID ein:
Dann klicken wir auf „Speichern“. „„I Am Not Satoshi Nakamoto“ oder wie kann eine lokale Blockchain erstellt werden und eine Transaktion mit Metamask durchgeführt werden“ weiterlesen