[GUIDA] Installazione e configurazione nodo Zcash

jason
Moderatore
Moderatore
Messaggi: 9

02/03/2017, 20:18  

Questa è una breve guida per installare da eseguibile e sorgenti un nodo Zcash, che potremo utilizzare come wallet per la ricezione/invio di transazioni Zcash normali e private.

Zcash supporta 2 tipi di indirizzi, un indirizzo-z (che inizia per con la lettera z) è l'indirizzo che usa la zero-knowledge proofs e altra crittografia per proteggere la privacy dell' utente. C'è anche un indirizzo-t (che inizia con la lettera t) che funziona in modo similare agli indirizzi Bitcoin.

Requisiti

  1. Linux (Ubuntu 16.04 va più che bene)
  2. un'architettura a 64-bit
  3. 4GB of memoria libera


1. Binario eseguibile

Per i più pigri, il team di Zcash ha messo ha disposizione dei binari per l'installazione su piattaforme 64 bit basate su Debian ( Ubuntu è compresa)

Prima di tutte installate le dipendenze necessarie:

Codice: Seleziona tutto

sudo apt-get install apt-transport-https


Aggiungiamo ora le chiavi dei repository che andremo ad aggiungere tra poco:

Codice: Seleziona tutto

wget -qO - https://apt.z.cash/zcash.asc | sudo apt-key add -


Confrontate questa chiave con quella appena scaricata (Aggiornato al 02/03/2017):

Codice: Seleziona tutto

Fingerprint: F1E2 1403 7E94 E950 BA85 77B2 63C4 A216 9C1B 2FA2


Aggiungiamo ora il repository ai nostri sorgenti:

Codice: Seleziona tutto

echo "deb [arch=amd64] https://apt.z.cash/ jessie main" | sudo tee /etc/apt/sources.list.d/zcash.list


Ed infine, aggiorniamo la lista dei pacchetti ed installiamo Zcash:

Codice: Seleziona tutto

sudo apt-get update && sudo apt-get install zcash


Una volta installato, da un terminale lanciamo:

Codice: Seleziona tutto

zcash-fetch-params

per scaricare i parametri necessari per far funzionare il nostro nodo.

Ora ci resta solo da scrivere il file di configurazione del nostro nodo digitando i seguenti comandi:

Codice: Seleziona tutto

mkdir -p ~/.zcash
echo "addnode=mainnet.z.cash" >~/.zcash/zcash.conf
echo "rpcuser=username" >>~/.zcash/zcash.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.zcash/zcash.conf


Ora possiamo lanciare da terminale il nostro nodo Zcash:

Codice: Seleziona tutto

zcashd


Se invece vogliamo lanciarlo in background:

Codice: Seleziona tutto

zcashd --daemon


Facciamo un piccolo test per vedere se tutto è andato a buon fine:

Codice: Seleziona tutto

zcash-cli getinfo


2. Installazione da sorgenti

Se invece siete super fighi o siete al TOP (cioè usate Fedora) , di seguito il tutorial per la compilazione da sorgenti.

Prima di tutto, le dipendenze

Codice: Seleziona tutto

$ sudo apt-get install \
      build-essential pkg-config libc6-dev m4 g++-multilib \
      autoconf libtool ncurses-dev unzip git python \
      zlib1g-dev wget bsdmainutils automake


Invece su fedora:

Codice: Seleziona tutto

sudo dnf install \
      git pkgconfig automake autoconf ncurses-devel python wget \
      gtest-devel gcc gcc-c++ libtool patch


Cloniamo i sorgenti da github e scarichiamo i parametri necessari ad essere in linea con il protocollo Zcash:

Codice: Seleziona tutto

$ git clone https://github.com/zcash/zcash.git
$ cd zcash/
$ git checkout v1.0.8-1
$ ./zcutil/fetch-params.sh


Quest'ultimo comando, che scarica e verifica le chiavi pubbliche, richiede un po di pazienza, scaricare circa 1 GB di dati richiede sempre il tempo necessario.
Le chiavi appena scaricate le potrete trovare in ~/.zcash-params/

Ed ora, la build, compiliamo le dipendenze e sorgenti per ottenere zcashd

$ ./zcutil/build.sh -j$(nproc)

Altri 20 minuti........ :roll:

- Configurazione

P.S. Magari cambiate username nell'RPC

Codice: Seleziona tutto

mkdir -p ~/.zcash
echo "addnode=mainnet.z.cash" >~/.zcash/zcash.conf
echo "rpcuser=username" >>~/.zcash/zcash.conf
echo "rpcpassword=`head -c 32 /dev/urandom | base64`" >>~/.zcash/zcash.conf



- Esecuzione

Nella cartella dove siamo, cioè in zcash

Codice: Seleziona tutto

./src/zcashd


O, per il demone ( background )

Codice: Seleziona tutto

./src/zcashd --daemon


Verifichiamone il funzionamento e la sincronizzazione con

Codice: Seleziona tutto

./src/zcash-cli getinfo

Codice: Seleziona tutto

./src/zcash-cli getpeerinfo


L'ultimo comando, se siete familiari con l'RPC di Bitcoin, funziona in modo molto simile.
Magari date un help per la lista dei comandi

Codice: Seleziona tutto

./src/zcash-cli help


Codice: Seleziona tutto

./src/zcash-cli help <command>



3. Utilizzo

Generare un indirizzo-T (trasparente, come Bitcoin )

Codice: Seleziona tutto

./src/zcash-cli z_getnewaddress


Generare un indirizzo-Z (shielded, privato)

Codice: Seleziona tutto

./src/zcash-cli z_getnewaddress


Lista indirizzi Z

Codice: Seleziona tutto

./src/zcash-cli z_listaddresses


Inviare ZEC con una transazione shielded (privata) verso un indirizzo-Z

$FRIEND = indirizzo-Z del destinatario

Codice: Seleziona tutto

./src/zcash-cli z_sendmany "$ZADDR" "[{\"amount\": 0.8, \"address\": \"$FRIEND\"}]"


Per vedere se l'operazione è andata a buon fine, dopo un paio di minuti:

Codice: Seleziona tutto

./src/zcash-cli z_getoperationresult


Riceverete un output di questo tipo:

Codice: Seleziona tutto

[
    {
        "id" : "opid-4eafcaf3-b028-40e0-9c29-137da5612f63",
        "status" : "success",
        "creation_time" : 1473439760,
        "result" : {
              "txid" : "3b85cab48629713cc0caae99a49557d7b906c52a4ade97b944f57b81d9b0852d"
         },
        "execution_secs" : 51.64785629
    }
]


4. Backup

Il seguente comando crea o sovrascrive un file con le chiavi private di tutti gli indirizzi-Z e indirizzi-T in un formato umanamente leggibile, comando utile se volete tenere dei backup leggeri.
Inutile dirvi di tenere questo file al sicuro, perchè queste chiavi sono l'accesso diretto al vostro wallet.
Per il seguente comando il wallet deve essere sbloccato e non criptato.

Codice: Seleziona tutto

./src/zcash-cli z_exportwallet ~/wallet.txt


il file wallet.txt verrà salvato nella vostra home

Altrimenti se volete fare un backup completo, indirizzi , transazioni, chiavi , quante volte vi mettete le dita nel naso:

Codice: Seleziona tutto

./src/zcash-cli backupwallet ~/my_backed_up_wallet.dat



A breve altri aggiornamenti.
Tra cui l'immagine docker da scaricare pronta all'uso, ecc.. ecc..


5. Windows

Per windows c'è la beta di un'interfaccia grafica non ufficiale che potete scaricare qui:

https://zcash4win.com/


Fonti:
https://github.com/zcash/zcash/wiki/1.0-User-Guide
https://github.com/zcash/zcash/wiki/Debian-binary-packages
https://github.com/zcash/zcash/blob/master/doc/payment-api.md

UPDATE 28/03/2017 nuova versione Zcash node, 1.0.7

UPDATE 15/04/2017 nuova versione Zcash node, v1.0.8-1

P.S. Metterei anche un indirizzo per le donazioni, ma tanto siete dei poveracci e non sganciate una lira

jason
Moderatore
Moderatore
Messaggi: 9

15/04/2017, 13:50  

HOTFIX, aggiornate il demone il prima possibile.

https://z.cash/blog/security-announcement-2017-04-13.html

Avatar utente
ziomik
Moderatore
Moderatore
Messaggi: 58

15/04/2017, 14:50  

La cosa che fa un po sorridere è il ringrazionamento, da parte di Zcash Company, a Coinspect e @movcrx del progetto Zclassic e, in un certo modo mi fa anche piacere. Se vogliamo allargare il discorso è un po come se Bitcoin classic avesse un buon rapporto con Bitcoin Unlimited e collaborassero per un fine comune invece di darsi mazzate sui piedi a vicenda.. :o

keyfreenightzelo
Matusa
Matusa
Messaggi: 3

28/04/2017, 15:06  

Ciao!
Sto provando a installare un nodo Zcash usando le istruzioni presenti in questo post ma mi fermo a un punto:

Codice: Seleziona tutto

apt-get install zcash
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
I seguenti pacchetti sono stati installati automaticamente e non sono più richiesti:
  libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libroken18-heimdal
  libwind0-heimdal
Usare "apt-get autoremove" per rimuoverli.
I seguenti pacchetti NUOVI saranno installati:
  zcash
0 aggiornati, 1 installati, 0 da rimuovere e 1 non aggiornati.
È necessario scaricare 3.126 kB di archivi.
Dopo quest'operazione, verranno occupati 12,4 MB di spazio su disco.
Err https://apt.z.cash/ jessie/main zcash amd64 1.0.8+1
  Connection timed out after 120000 milliseconds
E: Impossibile recuperare https://apt.z.cash/pool/main/z/zcash/zcash-1.0.8-1-amd64.deb  Connection timed out after 120000 milliseconds

E: Impossibile scaricare alcuni pacchetti. Potrebbe essere utile eseguire "apt-get update" o provare l'opzione "--fix-missing".


Sembra che il server non risponda.. :?

jason
Moderatore
Moderatore
Messaggi: 9

27/05/2017, 18:42  

da un

Codice: Seleziona tutto

sudo apt-get update

  •   Informazione
  • Chi c’è in linea

    Visitano il forum: Nessuno e 1 ospite