Ethereum Light Node mit Geth Far Rim in go auf Debian Bullseye Raspberry Pi

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

ETH-Kontostand via Web3j und Infura mit Java in 5 Schritten abfragen

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

Smart-Contract Wrapper für Java mit web3j-maven-plugin erstellen


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.

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

Java Ethereum Wallet mit Web3j erstellen

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

„I Am Not Satoshi Nakamoto“ oder wie kann eine lokale Blockchain erstellt werden und eine Transaktion mit Metamask durchgeführt werden

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

Intelligenzquotient (IQ) auf der Blockchain sichern und Smart-Contract verifizieren

„Der Intelligenzquotient (IQ) ist eine durch einen Intelligenztest ermittelte Kenngröße zur Bewertung des intellektuellen Leistungsvermögens im Allgemeinen …“ wie in Wikipedia steht. Der IQ hängt von vielen Faktoren ab, unter anderem vom Alter der Person, Leistung der Testperson und Durchschnittsleistung der anderen Testpersonen. Der durchschnittliche IQ der Bevölkerung wurde auf 100 festgelegt.

Habe vor einigen Tagen eine Smart-Contract mit Solidity geschrieben, so das die IQ Werte in der Blockchain geschrieben und gelesen werden können. Der Smart-Contact für die Ethereum Blockchain heißt „Gehirn“.

Wie kann der Sourcecode eines Smart-Contract verifizert werden? Erkennbar ist es an den grünen Kreis auf den „Contract Tab“:

1. Muss ein API Key auf etherscan.io unter API-Key angelegt werden und in der .env Datei exportiert werden z.B. „Intelligenzquotient (IQ) auf der Blockchain sichern und Smart-Contract verifizieren“ weiterlesen

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

ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain

Gestern wurde ArchUnit in Version 0.18.0 veröffentlicht.

ArchUnit

Wenn das keine Grund ist mal zu zeigen, wie man eine Package-Abhängigkeit überprüfen kann.
Also wir wollen einen Test schreiben, der durchläuft wenn nur aus dem Package blockchain auf das Package be zugegriffen wird. Wie hier im UML Diagramm gezeigt:… „ArchUnit gestern in Version 0.18.0 veröffentlicht oder wie validiere ich die Architektur am Beispiel einer Blockchain“ weiterlesen

Meine TOP 12 des 35c3

1. Smart Home – Smart Hack https://www.youtube.com/watch?v=urnNfS6tWAY

auch als Zusammenfassung von Heise https://www.heise.de/newsticker/meldung/35C3-Ueber-die-smarte-Gluehbirne-das-Heimnetzwerk-hacken-4259891.html

2. Venenerkennung hacken https://www.youtube.com/watch?v=FsZE6fyF26U

3. Gesundheits Apps und vivy: All Your Gesundheitsakten Are Belong To Us https://www.youtube.com/watch?v=82Hfh1AItiQ
„Meine TOP 12 des 35c3“ weiterlesen