Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Installare un'applicazione Takamaka con le API HotMoka

Impariamo ad installare un'applicazione basata sulla tecnologia Blockchain Takamaka attraverso le API (Application Programming Interface) HotMoka
Impariamo ad installare un'applicazione basata sulla tecnologia Blockchain Takamaka attraverso le API (Application Programming Interface) HotMoka
Link copiato negli appunti

Abbiamo visto come realizzare una Blockchain con HotMoka che faccia uso di un nodo in memoria. Si tratta di una tipologia di nodo utile per attività di sperimentazione. Ora proseguiamo con l'utilizzo di una MemoryBlockchain mostrando come sia possibile installare un'applicazione Takamaka tramite le API HotMoka.

Ancora una MemoryBlockchain

Il primo step è creare una Blockchain in memoria e richiedere poi la creazione di un account. Utilizziamo quindi una macchina virtuale Linux dovendo richiamare le API moka da riga di comando. Da terminale eseguiamo quindi il seguente comando per la creazione di un nodo Blockchain:

./moka init-memory 100000000000000000000000 --open-unsigned-faucet --takamaka-code modules/explicit/io-takamaka-code-1.0.0.jar

e successivamente i comandi per la ceeazione di un account:

./moka faucet 5000000000000000
./moka create-account 50000000000 --payer faucet --url localhost:8080

Il codice account prodotto perchè sarà utilizzato nel codice Java. Nel nostro caso, come mostrato nell'immagine, il codice account è il seguente:

1049b887421e7f3f91dec79d8e46d62fab4141bcf48504d626aa0fbd6f3a706c#0

MemoryBlockchain

Figura 1. MemoryBlockchain

Il file .keys così prodotto va posizionato nella directory Tutorial per poter essere rilevato dal codice Java.

Configurazione del progetto runs

Il progetto Takamaka mostrerà la procedura di connessione remota alla MemoryBlockchain al fine di installare il file family-0.0.1-SNAPSHOT.jar del progetto family introdotto in precedenza. Iniziamo con il creare una directory runs nella directory Tutorial del progetto HotMoka.

Dopo tale operazione proseguiamo creiamo un progetto maven in questa cartella.

Nel caso Eclipse nella prima schermata di creazione facciamo in modo di scegliere le opzioni cosi come suggerite in figura:

Progetto Maven

Figura 2. Progetto Maven

Avremo quindi il progetto Runs nella directory Tutorial. Nella successiva e ultima schermata inseriamo io.hotmoka come Group Id e runs come Artifact Id:

Progetto Maven

Figura 3.

Editiamo il contenuto di pom.xml includendo le dipendenze necessarie per il progetto:

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>io.hotmoka</groupId>
	<artifactId>runs</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
		<failOnMissingWebXml>false</failOnMissingWebXml>
	</properties>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<release>11</release>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>io.hotmoka</groupId>
			<artifactId>io-hotmoka-remote</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>io.hotmoka</groupId>
			<artifactId>io-hotmoka-views</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>io.hotmoka</groupId>
			<artifactId>io-hotmoka-memory</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>io.hotmoka</groupId>
			<artifactId>io-hotmoka-views</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>io.hotmoka</groupId>
			<artifactId>io-hotmoka-service</artifactId>
			<version>1.0.0</version>
		</dependency>
	</dependencies>
</project>

Per completare la configurazione definiamo all'interno di src/main/java il file module-info-java con il seguente contenuto:

module Blockchain {
  requires io.hotmoka.beans;
  requires io.hotmoka.nodes;
  requires io.hotmoka.views;
  requires io.hotmoka.remote;
  requires io.hotmoka.crypto;
  requires io.hotmoka.memory;
  requires io.hotmoka.service;
}

Ti consigliamo anche