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

Quicktest: Camunda Modeller 4.10.0 mit Crypto BPMN Workflow

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

„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