giovedì 19 agosto 2021

Come Configurare Avalanche Con Metamask (Avax)

Metamask è configurabile con molte chain: nasce di default per Ethereum ed anche per quelle compatibili che sono nate negli ultimi mesi (xDaiBinance Smart Chain e Polygon). Ad esempio Solana non è compatibile con Metamask e si usa Sollet, per Terra invece si usa Terra Station. Per Cosmos, Crypto.org, Kava, Osmosis si usa Keplr. Per Zilliqa invece Zilpay.
Avalanche è una blockchain che permette di eseguire smart contract e con una DeFi che si sta pian piano sviluppando (Benqi, Beefy Finance, Pangolin, Joe Trader, Snowball sono le piattaforme più note ma nei prossimi mesi dovrebbero approdare anche Curve ed Aave). Faccio un breve sunto su Avalanche, a fine articolo illustro la configurazione con Metamask che è un po' più complessa del solito (qualora l'exchange non supportasse il prelievo diretto sulla c-chain che serve per la Defi).


COS'E' AVALANCHE?
Avalanche nasce nel 2020 e si tratta di un network abbastanza complesso, nel quale Avax è il token di riferimento, che permette di accedere a diversi tipi di funzionalità, dagli smart contract alla tokenizzazione di NFT ed asset finanziari esterni a questa blockchain. Sulla mainnet è possibile creare delle blockchain (pubbliche o private) interne al progetto, con regole proprie e con meccanismi di funzionamento decisi secondo smart contract. 
Il protocollo di Avalanche permette agli sviluppatori di realizzare propri contratti, con una piattaforma abbastanza scalabile e che consente operazioni in tempi inferiori al minuto (il costo medio, ora come ora, per ogni operazione è di circa 28 cent di dollaro). 
Questa blockchain puà integrare il formato Erc20 di Ethereum. Include però anche la possibilità di creare i Fixed-Cap Assets, ovvero token fungibili tra loro che hanno un massimo minting (supply) ed anche Variable-Cap Assets, il cui numero massimo in circolazione può essere modulato nel tempo.
Come detto è anche possibile creare delle subnet, ovvero delle sotto-blockchain, pubbliche o private, che si appoggiano sulle regole di base del progetto, ma che hanno una gestione separata e con regole proprie (in futuro ci sarà un'integrazione).
Avax viene utilizzato per pagare le commissioni sul network (gas). L’aspetto più interessante è che questo token viene in parte bruciato durante il pagamento delle commissioni. Il che, nel tempo, dovrebbe contribuire a renderli più scarsi e dunque, a domanda costante, ad aumentarne il valore di mercato.Avalanche funziona con una tripla blockchain dove si creano e si scambiano asset, una che coordina le subnet e quella che invece fa girare gli smart contract. A differenza di altri network, le regole di uno smart contract possono essere molto personalizzabili e restrittive, in quanto è possibile stabilire delle regole che siano in accordo con le leggi del paese dove il titolo è quotato, o dove si trovano le borse di riferimento. La duttilità di Avalanche come network la rende molto diversa e soprattutto utile anche nella realtà. Come oracolo che fa da ponte tra dati reali e mondo digitale è stata scelta la rete di oracoli di Chainlink. Come già detto, la chain è costituita da tre diversi sottogruppi che vengono poi coordinati a livello di network centrale. 
Il network principale è il punto di riferimento e permette alle sotto-chain di comunicare. 
Nell' "Exchange Chain" gira il Protocollo di Consenso del network. È inoltre su questa specifica blockchain che avviene la creazione di asset da parte degli utenti e soprattutto lo scambio degli stessi. 
Nella "Platform Chain" avviene il coordinamento tra diversi Validator. Qui inoltre andremo a creare le sotto-blockchain private o pubbliche, cosa che hanno la libertà di fare tutti i nodi del progetto e anche utenti privati e aziende.
Infine nella "Contract Chain" si gestiscono gli smart contract e le macchine virtuali. Anche questa parte della blockchain complessiva di Avalanche gira sul protocollo di consenso Snowman.


CONFIGURAZIONE DI AVALANCHE CON METAMASK (X-CHAN E C-CHAIN)
Questa parte della guida riguarda i prelievi da quegli exchange che supportano Avax solo nel suo formato nativo (indirizzi: X-avax10). Se il tuo exchange supporta il prelievo diretto sulla c-chain puoi evitare di scaricare il wallet di Avax (che comunque puoi usarlo per lo staking on chain) ed usare solo Metamask (dopo questo paragrafo trovi anche questa configurazione, molto più semplice, in quanto si usa solo Metamask).
Per prima cosa scarichiamo Metamask e configuriamo la rete, inserendo i dati in "RPC Personalizzata". Io consiglio di utilizzare un wallet ex novo con solo la chain di Avalanche perchè andremo poi ad inserire la chiave privata di questo...in un altro wallet da interfacciare con Metamask (parliamo del wallet ufficiale di Avax però rimane pericoloso importare la private key in più wallet).
Quali dati andrò ad inserire in "RPC Personalizzata"?

Network Name: Avalanche Network
New RPC URL: https://api.avax.network/ext/bc/C/rpc
ChainID: 0xa86a
Symbol: AVAX
Explorer: https://cchain.explorer.avax.network/

La configurazione su Metamask è finita, il problema è che in questo caso, avrò il classico indirizzo di Ethereum (che poi, come sappiamo, è lo stesso della BSC e di Polygon). In realtà gli indirizzi di Avalanche sono completamente diversi. Non a caso, se proverai a fare il prelievo di Avax da alcuni exchange inserendo il classico indirizzo 0x di Eth, l'exchange ti dirà di controllare l'indirizzo perchè è sbagliato (gli address di Avalanche sono tipo questo: X-avax10...).
A questo punto, vai su Avax Network (Wallet) ed importa la tua chiave privata di Metamask (la trovi in impostazioni, ovvero i 3 puntini verticali in alto a destra, dopo aver schiacciato su "dettagli account" ed "esporta chiave privata"). Su Avax Network, schiaccia su "access wallet" e poi "private key".
Nel wallet ufficiale di Avax, in alto a destra leggerò il mio indirizzo (sarà a questo address che posso inviare i miei Avax dagli exchange).
Una volta arrivati nel wallet, questi Avax finiranno in "X-Chain (Exchange)". Per inviarli su Metamask, vado su "cross chain", setto in source chain "X-Chain (Exchange)" e in destination chain "C-Chain Contract". Setto l'importo, poi "confirm" e "trasfers".
A questo punto, i miei Avax (e comunque tutti i token che riceverò a quell'indirizzo), mi finiranno in Metamask e su Avax Wallet (dove ho importato la private key).
Ricordo brevemente, le funzionalità delle tre chain:
1) X-Chain (dove possono essere scambiati: indirizzo tipo X-avax10. Quando invio da un exchange finiranno qui)
2) P-Chain (stake e validatori)
3) C-Chain (per le Dapps e smart contract: indirizzo tipo 0x. Questo serve per interfacciarsi alla DeFi quindi a Metamask)

In mesi di utilizzo a volte è capitato che i token trasferiti da una chain all'altra "scompaiano" nel nulla. Non che vengano persi ma malgrado la transazione sembra andare a buon fine rimangono bloccati e non compare il saldo (soprattutto quando si trasferisce da X-Chain a C-Chain quindi su Metamask). Vedendo l'explorer si noterà che i token sono stati effettivamente spediti però non compaiono più da nessuna parte (nè nella Chain-X nè nella nuova dove sarebbero dovuti arrivare).
Per risolvere questo problema, basta andare su "Advanced" (in basso a sinistra), "Chain Import" e schiacciare su "Import C" (o "Import X" o "Import P" se il problema compare su altre chains).
Fatto ciò i token vengono "sbloccati".


PRELIEVO DIRETTO SULLA C-CHAIN
Ormai la maggior parte degli exchange supportano il prelievo diretto sulla C-Chain (Metamask sostanzialmente). Ti basta scaricare Metamask, configurare la rete di Avax con i dati di sopra e poi fare il prelievo sulla C-Chain (indirizzo 0x tipo Ethereum) senza utilizzare il doppio wallet!


Qui trovi altri articoli inerenti Metamask e DeFi:

9 commenti:

  1. Anche noi abbiamo scritto in articolo a riguardo, mi farebbe piacere ricevere un tuo feedback. Ecco l'articolo: https://italiadefi.finance/t/come-impostare-metamask-su-avalanche/111

    RispondiElimina
  2. Buongiorno. Ho impostato il wallet avalanche ma quando provo a spostare i miei fondi da Coinbase alla X-chain del wallet, l'indirizzo copiato su Coinbase risulta non valido. Non capisco il motivo, dove sbaglio?

    RispondiElimina
    Risposte
    1. Buongiorno, controlla Coinbase cosa supporta. Se supporta la c-chain (come credo) puoi fare prelievo diretto sulla c-chain (usando l'indirizzo "0x" identico a quelli di Ethereum) quindi puoi farli arrivare direttamente sul tuo Metamask (configurato come visto sopra). Anche Binance supporta ora il prelievo diretto sia su x-chain che sulla c-chain (che serve per la DeFi).

      In questi casi quando hai dei dubbi fai un tentativo magari con un piccolo importo, visto che gli indirizzi sono EVM (identici a quelli di Ethereum). Perchè? Quando sono EVM compatibili e non sai se supporta formato nativo è buona regola fare ciò perchè se x exchange supporta quel token come Erc20 poi ti arriva sulla chain di Ethereum (e non dove dovrebbe). Ad esempio Luna su Coinbase sta stranamente come "Wrapped Luna" cioè come Erc20 e non se ne capiscono i motivi.

      Elimina
  3. Salve, trovo questa guida utilissima. Ho un piccolo (ma in realtà grande) problema che non riesco a risolvere.
    Ho fatto tutto quanto detto, lato MetaMask: ho inserito i parametri, simbolo e tutto il resto. SOno riuscito ad importare i token ma MetaMask mi dice adesso che sono scollegato e quando cerco di collegarmi mi dice di cercare un sedicente "pulsante" che io non trovo da nessuna parte.
    Cosa posso fare?

    RispondiElimina
    Risposte
    1. Salve, i token sono effettivamente arrivati su Metamask rete Avalanche? In ogni caso nel sito dove stai provando a connetterti (che chiaramente deve supportare Avalanche) connetti il wallet (se non lo fa in automatico, dovresti farlo manualmente aprendo Metamask (quando si apre la finestra di Metamask in alto a sinistra schiaccia su "connetti").

      Sottolineo che se stai usando Metamask con il browser del cellulare, consiglio caldamente di usare il computer perchè sulle versioni mobili, il noto wallet, presenta spesso bug e problemi simili.

      Elimina
  4. Ciao e complimenti per il tutorial, purtroppo sono bloccato speravo potessi darmi una mano. ho un wallet ufficiale avalanche su cui mi hanno inviato un NFT sulla "C" chain. ho esigenza di visualizzarlo su metamask. ho effettuato la configurazione del custom network ma non riesco a risolvere il problema. Il sito internet del mint NFT si collega a metamask, metamask visualizza l'indirizzo ETH e risulta che non ho alcun NFT. Sul mio wallet Avalanche e su snowtrace vedo regolarmente l'NFT. pensi ci sia una soluzione? grazie mille

    RispondiElimina
    Risposte
    1. Ciao, grazie. Su Metamask non è possibile visualizzare gli NFT. La cosa importante è che risieda su un tuo address. Se ti colleghi a qualche market NFT di Avalanche con Metamask dovresti vederlo (se il formato di quel NFT è supportato da quel market).

      Elimina
  5. ciao! complimenti per il post..è davvero interessante. Io ho un problema che non so proprio come risolvere:( Volevo swappare degli avax con metamask ma ora le transazioni sono tutte in pending. Ho provato ad accelerare o cancellare, ma non cambia nulla. Anzi credo di avere speso tantissimo in gas fee per ogni volta che provavo. ho anche aggiunto avax pensando che quelli che avevo non bastassero per l'operazione e ora ho anche quelli bloccati! Per favore aiutami vorrei toglierli di li!

    RispondiElimina
    Risposte
    1. Ciao, dove li stavi swappando? Comunque se sovrapponi più transazioni: o puoi annullarle o con il tempo falliranno. Non rimarranno in pending all'infinito

      Elimina