Hardware e Software

La Rete Ethereum

E' una rete Peer-to-Peer in tre tipi diversi:

  • MainNet
    • rete principale, anche detta Costantinople nella release corrente
    • la precedente era Homestead
  • TestNet
    • anche detta StPetersburg, rete di test
    • la precedente era Ropsten
    • Provare i contratti su questa rete prima del deployment sulla rete vera *Vi sono anche altre reti di test
  • Private Nets
    • un numero qualsiasi di reti private possono essere create

Oltre alla rete Main di Ethereum vi sono altre numerose reti pubbliche di test

  • Ogni rete corrisponde ad un blockchain
  • Differiscono nello ID nel Blocco Genesi
  • Alcune reti sono ideali per il testing
  • Non tutti i clients supportano tutte le TestNets
  • Differiscono nel metodo di consenso:
    • POW - Proof of Work
    • POA - Proof of Authority

Akcune reti di test:

  • Morden, ora Ethereum Classic Testnet - ID: 2
  • Ropsten, con tutti i client - ID: 3
  • Rinkeby, client geth - ID: 4
  • Kovan, client Parity - ID: 42
  • Sokol, non per geth - ID: 77

Whisper

Protocollo di comunicazione messaggi decentralizzato e peer-to-peer. Oltre alla normale sincronizzazione del Blockchain.

Caratteristiche:

  • Messaggi crittografati
  • Permette piccolo interscambio di dati
  • Consente la non tracciabilità dei comunicanti (dark communication)

Disponibile con il client geth. Installare con l'opzione -shh. Da considerarsi un prodotto non ancora completo.

Swarm

Piattaforma per il file storage distribuito.

  • Ancora in fase di sviluppo.
  • Basato sulla registrazione dei files su più nodi, con ridondanza automatica, e l'identificazione dei files tramite il loro hash.
  • Sarà integrato con Whisper.

Ethereum Clients

I client Ethereum gestiscono la Macchina Virtuale Ethereum. Sono scritti in un linguaggio di programmazione specifico.

I più completi clients con interfaccia a caratteri sono:

  • Geth (Go) - anche come nodo pieno - implementazione di riferimento
  • Parity (Rust)
  • eth (C++)
  • Harmony/EthereumJ (Java)
  • Trinity/pyethapp (Python) - quasi completo
  • Exthereum (Elixir)

Ethereum Wallets

Servono a connettersi con le reti basate su blockchains con tecnologia Ethereum.

Requisiti:

  • Sicurezza delle chiavi private
  • Facilità d’uso
  • Comunità di supporto
  • Backup e restore
  • Compatibilità col sistema operativo

Sono di vari tipi:

  • Desktop - a caratteri o GUI
  • Mobile - Android o iPhone
  • Browser plugins
  • Web-based - siti free o a pagamento
  • Hardware - dispositivi su USB
  • Carta - metodo offline insicuro ma permanente, per backup

Web Wallets

Esempi:

  • Coinbase - https://www.coinbase.com
    • Già presente per Bitcoin
    • Chiavi su sito remoto
    • Non supporta Smart Contracts
    • Non in tutti i paesi
  • MyEtherWallet - https://www.myetherwallet.com/
    • Chiavi storate in locale
    • Necessita metodo locale di storaggio
    • Plugin per Chrome
    • Hardware wallet

Hardware Wallets

Esempi:

Nanos Ledger Nano S

Trezor Trezor

Funziona con MyEtherWallet

Paper Wallet

Metodo migliore per un backup del wallet.

Modo più fidato di generarlo: procedimento su MyEtherWallet.

Risultato:

Papereth

Non perdere e non dare a nessuno