Installare bloc come un pacchetto globale (g):

Download Report

Transcript Installare bloc come un pacchetto globale (g):

SMART CONTRACTS
Gli Smart Contracts non sono altro che dei programmi simili alle stored procedure
su database tradizionali.
Il loro codice o Ethereum Virtual Machine code (EVM code) è scritto in linguaggio
low-level e consiste in una serie di bytes, dove ogni byte rappresenta un’operazione.
Ovviamente, vista la difficoltà nel programmare in linguaggio low-level, sono stati
sviluppati alcuni linguaggi high-level che permettono di scrivere gli smarts
contracts senza alcuna difficoltà.
Uno tra quelli più utilizzati è Solidity che come sintassi si avvicina a Java script.
Una volta terminato il codice sarà Solidity a trasformarlo in codice EVM (il file avrà
come estensione .sol).
Malgrado la complessità di costruire gli Smart contracts il sito
http://etherscripter.com/0-5-1/ aiuterà nel costruirli con un linguaggio ad alto
livello (a blocchi), quasi “umano” e poi a convertirli nei linguaggi Serpent, XML o
LLL.
Alla pagina http://dapps.ethercasts.com/ possono essere consultate numerose
applicazioni già sviluppate, in corso e allo stato di progetto.
SOLIDITY INTEGRAZIONE CON VISUAL STUDIO
https://blogs.msdn.microsoft.com/caleteet/2016/04/01/solidity-integrationwith-visual-studio/
PREREQUISITI: GIT e NODEJS
GIT
https://git-scm.com/download/win
da installare come amministratore
Non è necessario aprire la directory contenente il file eseguibile per eseguirlo se si
istalla la variabile d’ambiente:
Pannello di controllo--> sistema e sicurezza--> sistema
Fare clic su impostazioni di sistema avanzate sulla sinistra.
Assicurarsi che siete nella scheda Avanzate
Fare clic sul pulsante variabili di ambiente sul fondo in variabili di sistema sul fondo
Trovare la variabile Path (supponendo che questo è dove è stato installato):
C:\Program Files\git\cmd
Fare clic su ok, ok e ok per salvare
NODEJS
Può essere scaricato qui:
https://nodejs.org/ (Scaricare la versione LTS)
Installare bloc come un pacchetto globale (g):
Bloc è un comando del Prompt dei comandi (da eseguire come amministratore:
tasto Windows + X) che consente di compilare applicazioni di blockchain sulla rete
Ethereum con le api di blockapps.
Per installare blockapps dal prompt dei comandi passare a un Directory (con il
vecchio comando Dos “cd”) dove si vuole installare il keyserver ed eseguire il
seguente comando: npm install blockapps-bloc -g
Generare una nuova app di blockchain
Effettuata l’installazione si può eseguire il comando: bloc init per costruire una
struttura di base per la tua app blockchain ed impostare i valori dei parametri per
la creazione di transazioni. Questi possono essere modificati nel file config.yaml
nella directory app.
Verrà chiesto di inserire alcuni dati: digitare un nome per l’app e il nome utente
(testuser è l’username di default per gli esempi in visual studio) e accettare il valore
predefinito per l’apiUrl.
Questo nodo di ethereum conterrà i blocchi effettivi che verranno distribuiti con il
tuo account/contratti.
Install npm dependencies
Installare nella directory creata i pacchetti necessari nods eseguendo il seguente
comando: cd <appname> && npm instal
Run Your local bloc keyserver
eseguire il comando: bloc start
bloc è ora in ascolto su localhost:8000. Abbiamo un keyserver in esecuzione.
Questo keyserver locale verrà eseguito sulla porta 8000 per impostazione
predefinita.
Solidity e gli Smart contract di Ethereum blockchains funzionano con
un’estensione in Visual Studio.
Per iniziare occorre Visual Studio 2015 community (free), Professional o Enterprise
edition.
Sarà inoltre necessario l'estensione di solidity scaricabile qui:
https://visualstudiogallery.msdn.microsoft.com/96221853-33c4-4531-bdd5d2ea5acc4799
Dopo aver installato l'estensione, sarà necessario riavviare Visual Studio.
Dopo aver installato l'estensione, successivamente è possibile creare
un'applicazione decentrata che verrà utilizzata per creare, compilare e distribuire
smart contracts.
1. Dal menu File, fare clic su nuovo progetto.
2. Nella finestra di dialogo nuovo progetto, fare clic su Solidity in modelli installati,
quindi selezionare Decentralized Application, inserire il nome dell'applicazione e
fare clic su OK.
3. Il progetto è stato impostato con alcune cartelle e file di esempio.
Il file README.html spiega come configurare un keyserver locale al fine di
distribuire Smart contrat tramite blockchain.
L'estensione di Visual Studio è configurata per utilizzare il server locale (localhost),
per impostazione predefinita con un utente denominato: testuser e una password:
testing. È possibile visualizzare e modificare queste modifiche eseguendo le
operazioni seguenti:
a. fare clic destro sul progetto in Esplora soluzioni.
b. la finestra di dialogo mostra i valori di configurazione che sono impostati di
default.
5. A questo punto abbiamo un keyserver eseguito localmente sulla porta 8000 e
quindi un endpoint per distribuire smart contratti
Creazione, compilazione e distribuzione di Smart contract
In Visual Studio nella nostra “soluzione” per impostazione predefinita verrà creata
una cartella denominata ESEMPI con alcuni esempi di contratti già inclusi.
Per iniziare, possiamo usare lo smart contract Payout.sol.
In primo luogo, possiamo esaminare il contratto nella finestra di codice di Visual
Studio.
Quando siamo soddisfatti del codice, possiamo compilare il contratto.
Compilazione
1. compilare lo Smart Contract
2. il risultato della compilazione appare nella finestra output. Se ci sono eventuali
errori di compilazione, appariranno nella finestra di output.
Distribuzione
La distribuzione invierà lo Smart contract al keyserver locale che comunicherà con
il sottostante blockchain e alla fine si aprirà il browser predefinito a una pagina
html creata dinamicamente dallo Smart contract che è stato distribuito.
Microsoft Azure offre un'installazione cloud one-click di un ambiente Ethereum
completo contenente un client proprio come ether.camp ambiente di sviluppo
integrato e blockapps ambiente privato blockchain.
Per ulteriori informazioni e una procedura dettagliata del modello:
https://aka.ms/blockchain-consortium-networks
La fase successiva è il rilascio del modello Ethereum Consortium Blockchain
Network soluzione in Azure Quick Start modelli che semplifica l'infrastruttura e il
protocollo.
Questo modello distribuisce e configura una rete privata Ethereum dal portale di
Azure o cmdline con un solo clic.
Per iniziare, è necessario un abbonamento Azure che può supportare la
distribuzione di diverse macchine virtuali e gli account di archiviazione standard.
Per impostazione predefinita, la maggior parte delle tipologie di abbonamento
sosterrà una topologia di distribuzione di piccole dimensioni senza la necessità di
aumentare la quota.
Una volta che avete un abbonamento, vai a: https://azure.microsoft.com/itit/documentation/templates/ethereum-consortium-blockchain-network/
Selezionare il pulsante di 'Distribuzione di Azure'.
Per la comprensione o la modifica del modello, selezionare la scheda modello per
aprire l'editor del portale Azure.