Come usare IOTA per l'IoT (senza spendere 1 cent)

IoT e Tangle


Sia nel 2017 che nel 2018 il termine "IoT" è stato sempre protagonista in tutti gli articoli tecnici.

Se poi uniamo la parola "IoT" con la parola "blockchain" ecco che formiamo la coppia perfetta

Oggi mi concentrerò su una piccola dimostrazione pratica dell'utilizzo della tangle IOTA

Il codice di seguito descritto lo potete trovare direttamente sulla mia pagina github https://github.com/Fabryprog/iot-tangle-example

Per utilizzare questo esempio occorre installare nodejs

Se state creando un progetto tutto vostro il primo comando da lanciare è l'inizializzazione del progetto nodejs e l'installazione delle dipendenze (in questo caso iota)

npm init
npm install iota.lib.js --save

Per potere interagire con la tangle iota servono due cose essenziali:
  1. un nodo della rete
  2. un seed
Per reperire un nodo della rete è possibile andare su questo simpatico sito che sfrutta la tangle per una chat (inutile). Io lo trovo utile soprattutto perchè da questo sito è possibile reperire una serie di nodi funzionanti (pulsante in alto a destra)

Per creare un seed e state usando un sistema linux è possibile utilizzare il seguente comando (sconsiglio vivamente di utilizzare servizi online)

cat /dev/urandom | LC_ALL=C tr -dc 'A-Z9' | fold -w 81 | head -n 1
Il codice sorgente è molto semplice ed è tutto all'interno del main file index.js

const IOTA = require('iota.lib.js')
const iota = new IOTA({
    host: 'http://node01.iotatoken.nl:14265',
    port: 14265
})

const DEPTH = 3;
const MINWEIGHT = 16; // PoW difficulty

const seed = "OKKGZMWEWOMCSD9PTPGNMRJCROFDCAHOFMIRFCRJIJSFAOCHWO9GFDSXFHCQD9DPWFHOVRYKFYZPZFWSX";
const myAddress = "AQJFGBHRLKWSGDGPOWAH9XWZJMUEISJVMERTBLVJYIDQADDOB9VATPJJYKCHPLRBTVXQXZQYTSURRD9SY";

const transfers = [
   {
      address: myAddress,
      value: 0,
      message: iota.utils.toTrytes('W IOTA (part 2)!')
   }
]
const options = {
    inputs: []
}

iota.api.sendTransfer(seed, DEPTH, MINWEIGHT, transfers, options, (error, transactions) => {
    if (error) {
        console.error('sendTransfer error', error);
    } else {
        console.log('transactions sent!', transactions);
    }
});

Per eseguire questo semplice script è necessario inviare il seguente comando:

node index.js

L'esecuzione dura all'incirca una ventina di secondi. 

Usando uno dei tanti tangle explorer potete controllare i dati inviati




A presto!

Commenti

Post popolari in questo blog

Hadoop, how to create a single node cluster using docker

How to install IOTA node with docker

Apache Spark - Try it using docker!