<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Web3 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Impara a programmare gratuitamente! Tutorial di programmazione su Python, JavaScript, Linux e molto altro. ]]>
        </description>
        <link>https://www.freecodecamp.org/italian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Web3 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/italian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 08:28:08 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/italian/news/tag/web3/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Donare un milione di dollari a freeCodeCamp per sviluppare un curriculum Web3 carbon-neutral ]]>
                </title>
                <description>
                    <![CDATA[ Sono uno studente di freeCodeCamp. Ho imparato a programmare su freeCodeCamp. Ho usato queste skill per creare una società di successo. Oggi, questa società – KaijuKingz – sta donando un milione di dollari a freeCodeCamp per aiutarli e creare ancora più risorse gratuite. La comunità di freeCodeCamp ha aiutato me ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/donare-un-milione-di-dollari-a-freecodecamp/</link>
                <guid isPermaLink="false">6232fcb51a3f5a0531957ff5</guid>
                
                    <category>
                        <![CDATA[ Web3 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ilenia Magoni ]]>
                </dc:creator>
                <pubDate>Thu, 17 Mar 2022 14:02:43 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/03/kaijuxcode.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/donating-a-million-dollars-to-freecodecamp-a-web3-curriculum/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Donating a Million Dollars to freeCodeCamp to Develop a Free, Carbon-Neutral Web3 Curriculum</a>
      </p><p>Sono uno studente di freeCodeCamp. Ho imparato a programmare su freeCodeCamp. Ho usato queste skill per creare una società di successo.</p><p>Oggi, questa società – KaijuKingz – sta donando un milione di dollari a freeCodeCamp per aiutarli e creare ancora più risorse gratuite.</p><p>La comunità di freeCodeCamp ha aiutato me e migliaia di altre persone a imparare a programmare creando progetti. Per preparare la scena per la nostra donazione, vorrei dare un po' di contesto sul mio percorso da sviluppatore, a partire da quando ho trovato per caso freeCodeCamp a quando sono entrato in Web3.</p><p>Questa è la mia storia</p><h2 id="da-smanettone-a-lasciare-il-college"><strong>Da smanettone a lasciare il college</strong></h2><p>Ero interessato nella programmazione fin dalla tenera età. Durante le superiori creavo semplici giochi IF-ELSE di avventura testuale per la mia ragazza. Immagino che nella mia mente fossi una sorta di leet developer.</p><p>Sfortunatamente, la mia scuola a quel tempo non offriva percorsi per esplorare la programmazione. Nonostante ciò ho fatto del mio meglio per accrescere le mie abilità. Ero molto coinvolto in un corso su computer system che permetteva di ottenere certificazioni come CompTIA, A+, e Net+.</p><p>Quando poi ero stato in grado di andare al college, decisi di studiare Computer Science, ma rimasi indietro piuttosto in fretta. I libri costavano troppo, c'era una mancanza di risorse in generale. Alla fine ho lasciato il college.</p><p>Dopo aver combattuto con la motivazione, ed essere stato senzatetto per un po', mi impegnai a rimettere la mia vita in ordine.</p><h2 id="la-risalita">La risalita</h2><p>Sono stato in grado di usare la certificazione CompTIA per ottenere il mio primo lavoro a salario minimo come tecnico dei computer ad un grosso rivenditore. Andai sempre più a fondo nel campo, e lavorai verso la cima con sforzo consistente.</p><p>Sono riuscito ad arrivare al ruolo di supporto di livello 2 nel dipartimento informatico di un grosso centro salute. Qui è dove ho riscoperto il mio amore per la programmazione e iniziai a automatizzare priccole attività. Ho iniziato a scrivere script in Visual Basic. PowerShell era diventato il mio strumento preferito per automatizzare le attività. Pezzettino a pezzettino, crescevo nel campo.</p><p>Questo è il punto in cui ho considerato per la prima volta imparare per diventare uno sviluppatore full-stack. Cercavo strumenti e sognavo il giorno in cui avrei potuto frequentare un bootcamp di programmazione e diventare un super fantastico sviluppatore full stack.</p><p>Questo è il punto in cui ho scoperto per la prima volta risorse gratuite come freeCodeCamp e i tanti canali YouTube che insegnano a programmare. (Menzione speciale per Sentdex &lt;3).</p><p>Nel 2019 ho completato la certificazione del corso di Web Design Responsivo di freeCodeCamp. E continuavo a controllare freeCodeCamp per leggere i nuovi tutorial r guardare nuovi corsi video che la comunità crea ogni giorno. Era divertente, stavo imparando un sacco, e non mi stava costando un centesimo.</p><h2 id="dal-mio-primo-lavoro-in-software-engineering-a-iniziare-la-mia-prima-societ-"><strong><strong>Dal mio primo lavoro in Software Engineering a iniziare la mia prima società</strong></strong></h2><p>Ho ottenuto il mio primo lavoro in software engineering in 2020 per una piattaforma di eCommerce. Ho continuato a migliorare le mie abilità.</p><p>Salto temporale a sei mesi fa: ho decisp di dedicare tutto il mio tempo a imparare lo spazio Web3, con un focus su decentralizzazione e creazione di una comunità. Il risultato: KaijuKingz.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://lh4.googleusercontent.com/HksSNM6Vm1K635EdBVlDwlMCHhRG3FamNt9lgWyfydvjHsW7xiZPlQcKgF-HSDsucgxqon49qRxXVmaFKdK_icSidKIWA5wsh6LKeNr_w4S0T-a9xQdjanAPMpHbWJb4SWB_CL-q" class="kg-image" alt="HksSNM6Vm1K635EdBVlDwlMCHhRG3FamNt9lgWyfydvjHsW7xiZPlQcKgF-HSDsucgxqon49qRxXVmaFKdK_icSidKIWA5wsh6LKeNr_w4S0T-a9xQdjanAPMpHbWJb4SWB_CL-q" width="1052" height="334" loading="lazy"><figcaption>Il logo di KaijuKingz, inspirato dalla tecnica tradizionale giapponese col pennello</figcaption></figure><p>Quando abbiamo creato KaijuKingz, il mio team ha deciso di mettere da parte dei fondi per aiutare altri aspiranti sviluppatori e creatore a imparare Web3. Avevamo pianificato di mettere da parte abbastanza soldi per mangare 3-4 a un bootcamp per programmare, magari cambiare la vita a qualcuno, e fine.</p><p>Dopo il nostro successo, abbiamo realizzato che avevamo l'opportunità di influenzare le vite di più persone di quante avessimo inizialmente pianificato. Quindi ci siamo rivolti a Quincy per discutere come potessimo usare i nostri fondi per creare un programma Web3 per aspiranti sviluppatori. Volevamo aiutare persone che sono appassionate degli argomenti di decentralizzazione e tecnologie possedute dalla comunità.</p><p>Abbiamo deciso di mettere tutto in campo con questo team e la loro storia di sviluppare corsi efficaci e certificazioni accessibili da chiunque nel mondo.</p><h2 id="piani-per-il-futuro-curriculum-web3-su-freecodecamp"><strong>Piani per il futuro Curriculum Web3 su freeCodeCamp</strong></h2><p>La nostra donazione da un milione di dollari andrà verso la creazione di un intero curriculum sullo sviluppo Web3. Coprirà tutto dalle basi della programmazione con Rust e Solidity, a usare librerie JavaScript come web3.js.</p><p>Questo curriculum provvederà alla fine circa 300 ore di apprendimento gratuito per aiutare le persone &nbsp;ad andare da <em>zero to hero</em> con Web3. L'unica cosa di cui gli studenti avranno bisogno è accesso ad un computer e la disciplina di completare il curriculum. L'esistente curriculum Web2 ti insegnerà tutti i prerequisiti necessari.</p><p>Sia io che Quincy teniamo molto all'ambiente, e questo curriculum sarà carbon-neutral.</p><p>Ho fondamentalmente cambiato la mia vita imparando a programmare attraverso risorse gratuite. Restituire a una delle più complete ed efficaci risorse gratuite per imparare a programmare (e anche aiutando ad aggiornare il loro curriculum per il futuro) mi ha dato un proposito. Invece di cambiare la vita di una persona, speriamo di cambiare la vita di migliaia di persone e di portare nuovi sviluppatori all'ecosistema Web3.</p><p>Grazie a freeCodeCamp, alla comunità KaijuKingz che ci ha supportato, e a tutti coloro che stanno aiutando a costruire un futuro decentralizzato.</p><p>Saluti,<br>Nathan</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cos'è Blockchain e come funziona? ]]>
                </title>
                <description>
                    <![CDATA[ Se sei appassionato di tecnologia, ci sono buone possibilità che tu abbia sentito i termini Bitcoin, Crypto, Ethereum o anche "registri distribuiti e decentralizzati". Probabilmente hai sentito parlare di criptovaluta e algoritmi di crittografia, della fine degli "intermediari" e così via. Comunemente si è portati a pensare che le criptovalute ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/cose-blockchain-e-come-funziona/</link>
                <guid isPermaLink="false">62210bd7db2217050c2ed37f</guid>
                
                    <category>
                        <![CDATA[ blokchain ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web3 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Angelo Mirabelli ]]>
                </dc:creator>
                <pubDate>Mon, 07 Mar 2022 08:26:40 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/03/5f9c9ca4740569d1a4ca335e.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/what-is-blockchain-and-how-does-it-work/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is Blockchain and how does it work?</a>
      </p><p>Se sei appassionato di tecnologia, ci sono buone possibilità che tu abbia sentito i termini Bitcoin, Crypto, Ethereum o anche "registri distribuiti e decentralizzati".</p><p>Probabilmente hai sentito parlare di criptovaluta e algoritmi di crittografia, della fine degli "intermediari" e così via.</p><p>Comunemente si è portati a pensare che le criptovalute (es: Bitcoin, Ripple, Ethereum, Litecoin, ecc.) e la Blockchain siano la stessa cosa. Ma non così.</p><p><a href="https://en.wikipedia.org/wiki/Cryptocurrency">Le criptovalute</a> sono un'applicazione intelligente di una tecnologia molto più intelligente: <a href="http://en.wikipedia.org/wiki/Blockchain_(database)" rel="nofollow noopener">la Blockchain</a> .</p><p>In questo post tratterò alcuni dei concetti di base della Blockchain in modo da capire di cosa si tratta, come deve essere concettualizzata e cosa si può costruire su di essa.</p><p>Ma come per tutte le cose, ha più senso se capisci <em><em>perché</em></em> sono state inventate, prima di entrare in quello che fanno. In questo modo ti sarà più facile capire per quale problema da risolvere è stata progettata la blockchain.</p><h2 id="perch-usare-blockchain"><strong>Perché usare blockchain?</strong></h2><p>Ottima domanda. Sono così felice che tu l'abbia chiesto. Sediamoci e facciamo un piccolo esperimento mentale.</p><p>Cosa succede se tu e il tuo migliore amico conducete <em><em><em><em>indipendentemente</em></em> e separatamente</em></em> la stessa campagna di petizioni? Diciamo che è per la causa "Liberate i criceti".</p><p>Diciamo che la conduci rispettando una sequenza identica al tuo amico e nello stesso sobborgo, ma tiri fuori un diverso numero di adesioni alla petizione. Quale versione della petizione firmata è la “fonte di verità”?</p><p>Dovresti risalire lungo i due elenchi di firme, una firma alla volta, per individuare l'<em><em><em><em>ultima</em></em></em></em> discrepanza. E poi dovresti lavorare più indietro per identificare il primo risultato che diverge tra le due liste. Prima di tale punto di origine della divergenza, tutte le altre firme nei due elenchi dovrebbero corrispondere.</p><p>Quindi una cosa è sicura. Prima di questo punto di divergenza, entrambe le liste sono in accordo, quindi quelle firme rappresentano il numero minimo di persone che hanno firmato per sostenere la liberazione dei criceti.</p><p>Sebbene possa funzionare bene per criceti e piccoli sondaggi suburbani, non funziona così bene nel mondo digitale. Oppure votazioni, operazioni bancarie, transazioni finanziarie, trasferimento di proprietà fondiarie, adempimento di obblighi contrattuali, ecc. Sono necessarie "terze parti di fiducia" indipendenti per verificare una catena di eventi e rassicurarti solennemente che la "catena di custodia" non è stata interrotta.</p><p>Una "catena di custodia" a volte può anche essere chiamata "provenienza" - entrambe significano la stessa cosa: la sequenza di eventi storici relativi ai dati in questione.</p><p>Ecco perché ci sono governi che hanno l'ultima parola sulla tua identità, e i voti devono essere contati fisicamente e ricontati da centinaia di volontari, e gli impiegati in uffici squallidi tengono registri e certificati per confermare se possiedi o meno la tua fattoria o la staccionata bianca del bungalow.</p><p>Ecco perché hai bisogno di intermediari finanziari per assicurarti che quando acquisti il tuo pupazzo da collezione di Darth Vader, utilizzando una carta di credito, il denaro (valore) venga "rimosso" dal tuo account e "immesso" sul conto del venditore.</p><p>Questo è tecnicamente chiamato il "<a href="https://en.wikipedia.org/wiki/Double-spending">problema della doppia spesa</a>": come ci si assicura di non spendere gli stessi soldi due volte? Senza qualcuno che lo faccia, potresti spendere i soldi e allo stesso tempo continuare a possedere quei soldi stessi.</p><p>Quindi è davvero un grosso problema: la vita moderna richiede che ci affidiamo, ci fidiamo e paghiamo intermediari di terze parti "fidati" per garantire che il valore (il denaro) effettivamente "passi di mano" digitalmente. Ecco perché esistono Visa e MasterCard e perché PayPal e altri si collegano ai tuoi conti bancari.</p><blockquote>Al centro del perché della Blockchain c'è questo problema: come fai a sapere che una sequenza di eventi non è stata manomessa per alterare lo stato attuale?</blockquote><p>È qui che si inserisce la Blockchain. Chiaro finora?</p><h2 id="come-funziona-blockchain"><strong>Come funziona Blockchain</strong></h2><p>Allo scopo di comunicare un concetto con semplicità, posso prendermi delle libertà con alcuni degli aspetti tecnici e nascosti di questa tecnologia. Il mio obiettivo è farti capire di cosa si tratta e avere un modello mentale di come funziona. Per questo, potrei aver bisogno di essere un po' sciolto con la precisione al fine di migliorare le probabilità di comprensione, specialmente per i non madrelingua.</p><p>Per la precisione, è essenziale ricordare che la Blockchain è una tecnologia, un codice software matematicamente complesso. E Bitcoin (o Ethereum o qualsiasi altra criptovaluta offerta) sono solo applicazioni di questa tecnologia.</p><p>Quindi i principi chiave sono:</p><ul><li>Le blockchain vengono "estratte" (prodotte attraverso il dispendio di sforzi, come nell'estrazione dell'oro) da computer potenti e affamati di risorse – chiamati nodi, che si trovano sulla stessa rete.</li><li>Catene di registrazioni di transazioni crittografate digitalmente e con timestamp sono raggruppate in "blocchi", che vengono mantenuti su un "registro" da ciascun nodo. Quando le transazioni vengono aggiunte a un blocco, i blocchi vengono collegati tra loro in modo lineare e cronologico come "catene". Quindi l'intero record/registro viene sincronizzato attraverso la rete di nodi in modo tale che tutte le "catene" di blocchi sui nodi dovrebbero raccontare la stessa identica cosa circa l'iter di una determinata transazione. Quindi otteniamo "blocco + catena = blockchain". È una lunga e complicata lista concatenata.</li><li>Ogni blocco in una catena ha il proprio ID, un hash crittografico unico e specifico per ogni blocco. Quell'hash viene anche memorizzato nel blocco <em><em>successivo della catena, causando un collegamento. </em></em>Un blocco può memorizzare migliaia di transazioni e la più piccola modifica ai dati di quel blocco risulterebbe in un nuovo hash. Quindi, se un hash cambia ma il blocco successivo ha un hash diverso, sappiamo che alcuni dati nel blocco precedente sono stati manomessi.</li><li>Man mano che centinaia diventano migliaia di nodi (e ne vengono aggiunti altri continuamente), ogni nodo deve "concordare" sulla cronologia dei blocchi/registro – questo è chiamato "consenso critico". Uno dei modi in cui si ottiene il consenso è attraverso l'hash crittografico di cui abbiamo parlato prima.</li><li>In caso di discrepanze nel registro (ad esempio l'hash di un blocco non corrisponde al riferimento del blocco successivo all'hash del blocco precedente), il registro con la catena più lunga di transazioni valide incorporate sarà quello “corretto” – la fonte di verità. Eventuali nodi che lavorano su altri nodi (versioni più corte) della catena passano a quella più lunga. Ciò mantiene il consenso critico (questo concetto è estremamente semplificato, ma per ora sufficiente).</li><li>Qualsiasi intercettazione o modifica malevola di un registro (di nuovo, ad esempio, quando l'hash di un blocco non corrisponde) creerebbe immediatamente una discrepanza con tutte le altre versioni. Avrebbe anche una "storia" di blocco più breve a confermarlo, il che rende quella versione manomessa un elemento sospetto nella rete blockchain dove la lunghezza conta (ehm).</li><li>Replicare quella discrepanza su <em><em><em><em>tutte</em></em></em></em> le versioni registro - l'intera rete blockchain - è un compito così enorme che è poco pratico dal punto di vista computazionale e accadrebbe solo se i malintenzionati avessero improvvisamente il controllo sulla <em><em><em><em>maggior parte</em></em></em></em> dei nodi che estraggono blockchain e li cambiassero tutti piuttosto rapidamente. Questo tipo di attacco coordinato alla maggior parte dei nodi della rete è spesso chiamato <a href="https://en.bitcoin.it/wiki/Majority_attack">attacco del 51%</a> .</li></ul><p>È interessante notare che Satoshi Nakamoto afferma nel <a href="http://bitcoin.org/bitcoin.pdf">white paper originale di Bitcoin</a> ,</p><blockquote>“ <em><em><em><em>In quanto tale, la verifica è affidabile fintanto che i nodi onesti controllano la rete, ma è più vulnerabile se la rete è sopraffatta da un utente malintenzionato. </em></em></em></em>"</blockquote><p>Tuttavia, altrove <a href="http://en.wikipedia.org/wiki/Satoshi_Nakamoto" rel="nofollow noopener">lui/lei/l'organizzazione</a> (non sappiamo chi sia "Satoshi") sottolinea con calma che modificare le passate transazioni nei blocchi, sull'intera rete di nodi, richiederebbe all'attaccante di rifare la catena di custodia in quei blocchi, e tutti i blocchi aggiunti dopo. Quindi dovrebbe correre come un pazzo per raggiungere e superare il lavoro dei nodi che non sono sotto il suo controllo (in modo che possa riscrivere il registro, per così dire).</p><p>E per questo motivo, la "<em><em><em><em>probabilità che un attaccante lento </em></em></em>recuperi il ritardo,<em><em><em> diminuisce esponenzialmente man mano che vengono aggiunti blocchi successivi</em></em></em></em>".</p><p>L'assoluta complessità programmatica, il ritmo e il volume delle attività nodali rendono difficile per i falsari/attaccanti recuperare il ritardo, per non parlare di superare i nuovi blocchi costantemente estratti.</p><p>Questo ha senso. È come la bugia che dici a un membro della famiglia sul motivo per cui non hai potuto partecipare al saggio di flauto dei loro figli. E poi devi inseguire pazzamente tutti gli altri membri della famiglia e assicurarti di aver detto loro la stessa bugia in modo che quando la persona interessata a cui hai mentito tira fuori l'argomento, tutti siano consapevoli di questa bugia e tengano il tuo gioco. Sembra estenuante.</p><p>Per concludere, la caratteristica distintiva di una blockchain è che è un registro distribuito su molti, molti nodi ed è estremamente intensivo dal punto di vista computazionale (costoso) aggiungere nodi a quella rete.</p><p>Pertanto, ogni registro deve essere "consapevole" di tutte le transazioni e deve avere una versione concordata (che avrà la "catena di custodia" più lunga dietro di sé) attraverso l'intera rete a cui verrà aggiunta la transazione successiva.</p><blockquote><em><em>Come <a href="http://bitcoin.org/bitcoin.pdf" rel="nofollow noopener">dichiara Satoshi Nakamoto</a> nel white paper originale di Bitcoin, "<em><em>L'unico modo per confermare l'assenza di una transazione è essere a conoscenza di tutte le transazioni.</em></em>"</em></em></blockquote><p>È importante sottolineare che la blockchain "<a href="https://en.wikipedia.org/wiki/Disintermediation">dis-intermediata</a>" è fidata, quindi non dobbiamo pagare commissioni di transazione a "terze parti fidate" per essere affidabili e mantenerci onesti noi e le controparti con cui trattiamo . La blockchain garantisce in modo programmatico la verità (provenienza) della cronologia delle transazioni in essa contenute.</p><h3 id="allora-perch-dovremmo-preoccuparci"><strong>Allora perché dovremmo preoccuparci?</strong></h3><p>Ebbene, eliminando la necessità di “intermediari di fiducia” qualsiasi intermediario che fa pagare un compenso modesto per averci dato il dono della certezza ha bisogno di trovare un nuovo lavoro. E questo ha un impatto sulle banche che tradizionalmente offrono tali servizi assicurativi.</p><p>Significa anche che possiamo programmare "<a href="https://en.wikipedia.org/wiki/Smart_contract">contratti intelligenti</a>" tra il promittente e il promesso che si accorgono automaticamente (digitalmente) se quella promessa è stata mantenuta o meno.</p><p>Ciò ha consentito a un'artista davvero esperta di tecnologia come <a href="http://fortune.com/2016/09/22/blockchain-music-disruption/" rel="nofollow noopener">Imogen Heap di vendere la sua musica direttamente</a> al suo pubblico di ascolto e di riscuotere le sue quote direttamente da loro piuttosto che perdere la maggior parte dei guadagni per etichette discografiche, manager e altri "intermediari di fiducia".</p><p>Probabilmente cambierà il modo in cui la proprietà intellettuale sarà protetta, accessibile, condivisa, distribuita e sviluppata su Internet.</p><p>Potrebbe anche significare che la flotta di conducenti di Uber effettua transazioni direttamente con le persone che desiderano un passaggio piuttosto che affidarsi a Uber per coordinare e controllare il flusso di informazioni e denaro.</p><p>Potrebbe significare che potrei inviarti direttamente piccole somme di denaro praticamente senza commissioni (microtransazioni). Potrebbe significare che i milioni di persone senza banca nel mondo che hanno uno smartphone possono iniziare a effettuare transazioni ben oltre i loro tradizionali confini del mondo fisico.</p><p>In modo sorprendente, i governi stanno guardando oltre la semplice criptovaluta pensando al modo con cui implementare questa tecnologia , <a href="http://dci.mit.edu/assets/papers/spielman_thesis.pdf" rel="nofollow noopener">ad esempio per </a><a href="http://www.redherring.com/startups/georgia-pilots-sweden-ponders-blockchain-future-europes-land-registries/" rel="nofollow noopener">registrare la proprietà terriera</a> .</p><p>In effetti, potremmo creare un mondo di vere transazioni digitali peer-to-peer per il trasferimento di valore che sia distribuito, orizzontale, rimuova la necessità di fare affidamento sulla fiducia e soprattutto richieda una straordinaria potenza di calcolo per manometterlo. Queste transazioni potrebbero essere tra persone, macchine e dispositivi.</p><p>Potrebbe quindi offrire un nuovo paradigma di sicurezza per la protezione dei dati raccolti e trasferiti attraverso "l'internet delle cose".</p><p>Personalmente credo che la complessità del mondo moderno sia oscurata dietro i touchscreen intuitivi. La tecnologia blockchain sarà rapidamente integrata nel nostro universo tecnologico senza che noi ne saremo pienamente consapevoli, proprio come utilizziamo il DNA ricombinante del lievito per la produzione di insulina sintetica dagli anni '70.</p><p>I cambiamenti e i risparmi sui costi saranno ampiamente definiti cambiamenti tecnologici, come quella "cosa interweby" o qualche altra frase vaga e all-inclusive.</p><p>Un problema: funzionerà finché possiamo confidare che un "sistema senza fiducia" codificato e progettato dagli esseri umani (di chi ci fidiamo?) promuoverà la causa di processi senza-fiducia in un mondo diffidente e inaffidabile . Potrebbe essere necessario leggere questa frase più volte.</p><h2 id="ricapitolando"><strong>Ricapitolando</strong></h2><p>OK – ora dovresti essere ragionevolmente consapevole delle basi della blockchain. Ma se sei interessato c'è molto altro da imparare.</p><p>Puoi discutere se la blockchain sia utile o troppo pubblicizzata, rivoluzionaria o noiosa. Ma è difficile ignorare che è piuttosto interessante come concetto.</p><p>Ecco un video davvero fantastico di Anders Brownworth che spiega il tutto con un modello blockchain. Consiglio vivamente di guardarlo.</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.25%;" class="fluid-width-video-wrapper">
            <iframe src="https://www.youtube.com/embed/_160oMzblY8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" title="Contenuti incorporati" loading="lazy" name="fitvid0" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size: 22px; vertical-align: middle; position: absolute; top: 0px; left: 0px; width: 760px; height: 427.5px;"></iframe>
          </div>
        </div>
      </figure><p>E come esercizio di apprendimento, puoi costruire la tua blockchain direttamente nel tuo browser o nella tua riga di comando. Ecco un breve <a href="https://www.freecodecamp.org/news/how-does-blockchain-really-work-i-built-an-app-to-show-you-6b70cd4caf7d/">tutorial su come costruire la tua blockchain</a>.</p><p>Se hai commenti su questo articolo o pensi che avrei potuto spiegare meglio alcune parti di questo, twittami su <a href="https://twitter.com/zubinpratap">@ZubinPratap</a></p><p>Se vuoi saperne di più sul mio viaggio nel codice, dai un'occhiata <a href="http://podcast.freecodecamp.org/53-zubin-pratap-from-lawyer-to-developer">all'episodio 53</a> del <a href="http://podcast.freecodecamp.org/">podcast freeCodeCamp</a> , dove Quincy (fondatore di freeCodeCamp) e io condividiamo le nostre esperienze come cambi di carriera che potrebbero aiutarti nel tuo viaggio. Puoi anche accedere al podcast su <a href="https://itunes.apple.com/au/podcast/ep-53-zubin-pratap-from-lawyer-to-developer/id1313660749?i=1000431046274&amp;mt=2">iTunes</a> , <a href="https://www.stitcher.com/podcast/freecodecamp-podcast/e/59201373?autoplay=true">Stitcher</a> e <a href="https://open.spotify.com/episode/4lG0RGpzriG5vXRMgza05C">Spotify</a>.</p><p>Terrò anche alcuni AMA e webinar nei prossimi mesi. Se questo ti interessa, per favore fatemelo sapere andando <a href="http://www.matchfitmastery.com/">qui</a> . E, naturalmente, puoi anche twittarmi su <a href="https://twitter.com/zubinpratap">@ZubinPratap</a> .</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ La guida completa allo sviluppo Full Stack di Ethereum ]]>
                </title>
                <description>
                    <![CDATA[ In questo articolo imparerai come creare dApp full stack con React, Ethers.js, Solidity e Hardhat. Puoi trovare il codice per questo progetto qui [https://github.com/dabit3/full-stack-ethereum] . Il video corso per questo tutorial è qui [https://www.youtube.com/watch?v=a0osIaAOFSE]. Di recente mi sono unito a Edge & Node [https://twitter.com/edgeandnode] come Developer Relations Engineer e ho ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/la-guida-completa-allo-sviluppo-completo-di-ethereum/</link>
                <guid isPermaLink="false">621a4f54b6d6770504318ec4</guid>
                
                    <category>
                        <![CDATA[ blokchain ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web3 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Angelo Mirabelli ]]>
                </dc:creator>
                <pubDate>Thu, 03 Mar 2022 09:29:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/02/full-stack-ethereum-article.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/full-stack-ethereum-development/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">The Complete Guide to Full Stack Ethereum Development</a>
      </p><p>In questo articolo imparerai come creare dApp full stack con React, Ethers.js, Solidity e Hardhat.</p><p>Puoi trovare il codice per questo progetto <a href="https://github.com/dabit3/full-stack-ethereum">qui</a> . Il video corso per questo tutorial è <a href="https://www.youtube.com/watch?v=a0osIaAOFSE">qui</a>.</p><p>Di recente mi sono unito a <a href="https://twitter.com/edgeandnode">Edge &amp; Node</a> come Developer Relations Engineer e ho approfondito lo sviluppo di contratti intelligenti con Ethereum. Ho scelto quello che penso sia lo stack migliore per la creazione di dApp full stack con Solidity:</p><ul><li>Client Framework – <strong><strong>React</strong></strong></li><li>Ambiente di sviluppo Ethereum – <a href="https://hardhat.org/"><strong><strong>Hardhat</strong></strong></a></li><li>Libreria Web client di Ethereum – <a href="https://docs.ethers.io/v5/"><strong><strong>Ethers.js</strong></strong></a></li><li>Livello API: <a href="https://thegraph.com/">Il protocollo Graph</a></li></ul><p>Però mi sono imbattuto in un problema mentre cercavo di capire tutto questo. Sebbene sia disponibile individualmente una documentazione abbastanza buona per ciascuno di questi strumenti, non c'è molto che ti aiuti a metterli tutti insieme e capire come funzionano tra loro.</p><p>Ci sono alcuni standard davvero buoni là fuori come <a href="https://github.com/austintgriffith/scaffold-eth">scaffold-eth</a> (che include anche Ethers, Hardhat e The Graph), ma potrebbero essere troppo da comprendere per le persone che hanno appena iniziato.</p><p>Volevo una guida end-to-end che mi mostrasse come creare app Ethereum full stack utilizzando le risorse, le librerie e gli strumenti più aggiornati.</p><p>Ecco cosa mi interessava:</p><ol><li>Come creare, distribuire e testare smart contract Ethereum su local, test e mainnet</li><li>Come spostarsi tra ambienti/reti locali, di test e di produzione</li><li>Come connettersi e interagire con i contratti utilizzando vari ambienti da un front-end come React, Vue, Svelte o Angular</li></ol><p>Dopo aver passato un po' di tempo a capire tutto questo, sono finalmente riuscito a usare lo stack di cui mi sentivo davvero a mio agio. Quindi ho pensato che sarebbe stato bello scrivere come costruire e testare un'app Ethereum full stack usando questo stack.</p><p>Spero che questa guida sia utile non solo per altre persone là fuori che potrebbero essere interessate a questo stack, ma anche per me stesso come riferimento futuro. Questo è quel riferimento.</p><h2 id="la-tecnologia-che-useremo"><strong><strong>La tecnologia che useremo</strong></strong></h2><p>Esaminiamo i pezzi principali che utilizzeremo e come si inseriscono nell'insieme.</p><h3 id="1-ambiente-di-sviluppo-di-ethereum"><strong><strong>1. Ambiente di sviluppo di Ethereum</strong></strong></h3><p>Quando crei contratti intelligenti, avrai bisogno di un modo per distribuire i tuoi contratti, eseguire test ed eseguire il debug del codice Solidity senza dover gestire ambienti live.</p><p>Avrai anche bisogno di un modo per compilare il tuo codice Solidity in codice che può essere eseguito in un'applicazione lato client, nel nostro caso, un'app React. Impareremo di più su come questo funziona un più avanti.</p><p>Hardhat è un ambiente di sviluppo Ethereum e un framework progettato per lo sviluppo full stack, ed è il framework che userò per questo tutorial.</p><p>Altri strumenti simili nell'ecosistema sono <a href="https://www.trufflesuite.com/ganache">Ganache</a> e <a href="https://www.trufflesuite.com/">Truffle</a> .</p><h3 id="2-libreria-web-client-di-ethereum"><strong><strong>2. Libreria</strong> <strong>Web client di Ethereum</strong></strong></h3><p>Nella nostra app React, avremo bisogno di un modo per interagire con gli smart contract che sono stati implementati. Avremo bisogno di un modo per leggere i dati e inviare nuove transazioni.</p><p><a href="https://docs.ethers.io/v5/">ethers.js</a> mira ad essere una libreria completa e compatta per interagire con Ethereum Blockchain e il suo ecosistema da applicazioni JavaScript lato client come React, Vue, Angular o Svelte. È la libreria che useremo.</p><p>Un'altra opzione popolare nell'ecosistema è <a href="https://web3js.readthedocs.io/en/v1.3.4/">web3.js</a></p><h3 id="3-metamask"><strong><strong>3. </strong>Metamask</strong></h3><p><a href="https://metamask.io/download.html">Metamask</a> ti aiuta a gestire la gestione dell'account e a connettere l'utente corrente alla blockchain. MetaMask consente agli utenti di gestire i propri account e chiavi in ​​diversi modi isolandoli dal contesto del sito.</p><p>Una volta che un utente ha connesso il proprio portafoglio MetaMask, tu come sviluppatore puoi interagire con l'API Ethereum disponibile a livello globale (<code>window.ethereum</code>) che identifica gli utenti di browser compatibili con web3 (come gli utenti MetaMask). Ogni volta che richiedi una firma di transazione, MetaMask la richiederà all'utente in modo comprensibile.</p><h3 id="4-react"><strong><strong>4. </strong>React</strong></h3><p>React è una libreria JavaScript front-end per la creazione di applicazioni Web, interfacce utente e componenti dell'interfaccia utente. È gestito da Facebook e da molti sviluppatori e aziende individuali.</p><p>React e il suo ampio ecosistema di metaframework come <a href="https://nextjs.org/">Next.js</a>, <a href="https://www.gatsbyjs.com/">Gatsby</a>, <a href="https://redwoodjs.com/">Redwood</a>, <a href="https://blitzjs.com/">Blitz.js</a> e altri abilitano tutti i tipi di target di distribuzione inclusi SPA tradizionali, generatori di siti statici, rendering lato server e una combinazione di tutti e tre.</p><p>React continua apparentemente a dominare lo spazio front-end e penso che continuerà a farlo nel prossimo futuro e forse anche oltre.</p><h3 id="5-the-graph"><strong><strong>5. </strong>The Graph</strong></h3><p>Per la maggior parte delle app basate su blockchain come Ethereum, è difficile e dispendioso in termini di tempo leggere i dati direttamente dalla <em>chain</em>. Quindi in passato vedevi persone e aziende costruire il proprio server di indicizzazione centralizzato e servire le richieste API da questi server. Ciò richiede molte risorse ingegneristiche e hardware e interrompe le proprietà di sicurezza richieste per la decentralizzazione.</p><p>The Graph è un protocollo di indicizzazione per interrogare i dati blockchain, che ti consente di creare applicazioni completamente decentralizzate. Risolve questo problema esponendo un ricco livello di query GraphQL che le app possono utilizzare.</p><p>In questa guida non creeremo un sottografo per la nostra app, ma lo faremo in un tutorial futuro.</p><h2 id="cosa-costruiremo"><strong><strong>Cosa costruiremo</strong></strong></h2><p>In questo tutorial creeremo, implementeremo e ci collegheremo a un paio di contratti intelligenti di base:</p><ol><li>Un contratto per la creazione e l'aggiornamento di un messaggio sulla blockchain di Ethereum</li><li>Un contratto per il conio di token, che consente al proprietario del contratto di inviare token ad altri e di leggere i saldi dei token e consente ai proprietari dei nuovi token di inviarli anche ad altri.</li></ol><p>Realizzeremo anche un front-end React che consentirà a un utente di:</p><ol><li>Leggere il saluto dal contratto distribuito sulla blockchain</li><li>Aggiornare il saluto</li><li>Inviare i token appena coniati dal loro indirizzo a un altro indirizzo</li><li>Una volta che qualcuno ha ricevuto i token, consentire loro di inviare i propri token anche a qualcun altro</li><li>Leggere il saldo del token dal contratto distribuito sulla blockchain</li></ol><h3 id="prerequisiti"><strong><strong>Prerequisiti</strong></strong></h3><ol><li>Node.js installato sul tuo computer locale</li><li><a href="https://metamask.io/">Estensione MetaMask</a> Chrome installata nel tuo browser</li></ol><p>Non è necessario possedere alcun Ethereum per questa guida poiché utilizzeremo Ether falso/test su una rete di test per l'intero tutorial.</p><h2 id="come-iniziare-con-create-react-app"><strong><strong>Come iniziare con create-react-app</strong></strong></h2><p>Per iniziare, creeremo una nuova applicazione React:</p><pre><code class="language-sh">npx create-react-app react-dapp
</code></pre><p>Quindi, passa alla nuova directory e installa <a href="https://docs.ethers.io/v5/"><code>ethers.js</code></a> e &nbsp;<a href="https://github.com/nomiclabs/hardhat"><code>hardhat</code></a> utilizzando <strong><strong>NPM</strong></strong> o <strong><strong>Yarn</strong></strong> :</p><pre><code>npm install ethers hardhat @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers
</code></pre><h2 id="come-installare-e-configurare-un-ambiente-di-sviluppo-ethereum"><strong><strong>Come installare e configurare un ambiente di sviluppo Ethereum</strong></strong></h2><p>Quindi, inizializza un nuovo ambiente di sviluppo Ethereum con Hardhat:</p><pre><code class="language-sh">npx hardhat

? What do you want to do? Create a sample project
? Hardhat project root: &lt;Choose default path&gt;
</code></pre><p>Ora dovresti vedere i seguenti file e cartelle creati per te nella tua directory principale:</p><ul><li><strong><strong>hardhat.config.js</strong></strong> – L'intera configurazione di Hardhat (ovvero la configurazione, i plug-in e le attività personalizzate) è contenuta in questo file.</li><li><strong><strong>scripts</strong></strong> – Una cartella contenente uno script denominato <strong><strong>sample-script.js</strong></strong> che distribuirà il tuo smart contract una volta eseguito</li><li><strong><strong>test</strong></strong> – Una cartella contenente uno script di test di esempio</li><li><strong><strong>contracts</strong></strong> : una cartella contenente uno smart contract di Ethereum di esempio</li></ul><p>A causa di <a href="https://hardhat.org/metamask-issue.html">un problema di configurazione di MetaMask</a> , dobbiamo aggiornare l'ID della catena sulla nostra configurazione di HardHat in modo che sia <strong><strong>1337</strong></strong> . Abbiamo anche bisogno di aggiornare la posizione della cartella <a href="https://hardhat.org/guides/compile-contracts.html#artifacts">artifacts</a> per i nostri contratti compilati in modo che siano nella directory <strong><strong>src</strong></strong> della nostra app React.</p><p>Per effettuare questi aggiornamenti, apri <strong><strong>hardhat.config.js</strong></strong> e aggiorna il file <code>module.exports</code> in modo che assomigli a questo:</p><pre><code class="language-javascript">module.exports = {
  solidity: "0.8.3",
  paths: {
    artifacts: './src/artifacts',
  },
  networks: {
    hardhat: {
      chainId: 1337
    }
  }
};
</code></pre><h2 id="il-nostro-smart-contract"><strong><strong>Il nostro </strong>smart contract</strong></h2><p>Quindi, diamo un'occhiata al contratto di esempio che abbiamo in <strong><strong>contract/Greeter.sol</strong></strong> :</p><pre><code class="language-solidity">//SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;

import "hardhat/console.sol";


contract Greeter {
  string greeting;

  constructor(string memory _greeting) {
    console.log("Deploying a Greeter with greeting:", _greeting);
    greeting = _greeting;
  }

  function greet() public view returns (string memory) {
    return greeting;
  }

  function setGreeting(string memory _greeting) public {
    console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
    greeting = _greeting;
  }
}
</code></pre><p>Questo è un contratto intelligente molto semplice. Quando viene distribuito, imposta una variabile Greeting ed espone una funzione (<code>greet</code>) che può essere chiamata per restituire il saluto.</p><p>Espone inoltre una funzione che consente a un utente di aggiornare il saluto (<code>setGreeting</code>). Una volta distribuiti sulla blockchain di Ethereum, questi metodi saranno disponibili per l'interazione di un utente.</p><p>Apportiamo una piccola modifica allo smart contract. Poiché impostiamo la versione di solidity del nostro compilatore su <code>0.8.3</code> in hardhat.config.js<strong><strong>,</strong></strong> assicuriamoci anche di aggiornare il nostro contratto per utilizzare la stessa versione di solidity:</p><pre><code class="language-solidity">// contracts/Greeter.sol
pragma solidity ^0.8.3;
</code></pre><h3 id="come-leggere-e-scrivere-sulla-blockchain-di-ethereum"><strong><strong>Come leggere e scrivere sulla blockchain di Ethereum</strong></strong></h3><p>Esistono due modi per interagire con uno smart contract: lettura o scrittura delle transazioni. Nel nostro contratto, <code>greet</code> può essere considerato transazione in lettura e <code>setGreeting</code> può essere considerato transazione in scrittura.</p><p>Quando si scrive o si inizializza una transazione, è necessario pagare affinché la transazione venga scritta sulla blockchain. Per farlo funzionare, devi pagare il <a href="https://www.investopedia.com/terms/g/gas-ethereum.asp#:~:text=What%20Is%20Gas%20(Ethereum)%3F,on%20the%20Ethereum%20blockchain%20platform">gas</a> che è la commissione o il prezzo richiesto per condurre con successo una transazione ed eseguire un contratto sulla blockchain di Ethereum.</p><p>Finché stai solo leggendo dalla blockchain e non modifichi o aggiorni nulla, non è necessario effettuare una transazione e non ci saranno gas o costi per farlo. La funzione che chiami viene poi svolta solo dal nodo a cui sei connesso, quindi non devi pagare alcun gas e la lettura è gratuita.</p><p>Dalla nostra app React, interagiremo con lo smart contract utilizzando una combinazione della libreria &nbsp;<code>ethers.js</code>, indirizzo del contratto e <a href="https://docs.soliditylang.org/en/v0.5.3/abi-spec.html">ABI</a> che verrà creato dal contratto da Hardhat.</p><p>Che cos'è un ABI? ABI sta per interfaccia binaria dell'applicazione. Puoi pensarla come l'interfaccia tra la tua applicazione lato client e la blockchain di Ethereum in cui viene distribuito lo smart contract con cui interagirai.</p><p>Gli ABI sono in genere compilati da smart contract di Solidity con un framework di sviluppo come Hardhat. Spesso puoi trovare gli ABI per uno smart contract anche su <a href="https://etherscan.io/">Etherscan</a></p><h3 id="come-compilare-l-abi"><strong><strong>Come compilare l'ABI</strong></strong></h3><p>Ora che abbiamo esaminato lo smart contract di base e sappiamo cosa sono gli ABI, compiliamo un ABI per il nostro progetto.</p><p>Per farlo, vai alla riga di comando ed esegui il seguente comando:</p><pre><code class="language-sh">npx hardhat compile
</code></pre><p>Ora dovresti vedere una nuova cartella denominata <strong><strong>artifacts</strong></strong> nella directory <strong><strong>src</strong></strong> . Il file <strong><strong>artifacts/contracts/Greeter.json</strong></strong> contiene l'ABI come una delle proprietà. Quando dobbiamo usare l'ABI, possiamo importarlo dal nostro file JavaScript:</p><pre><code class="language-javascript">import Greeter from './artifacts/contracts/Greeter.sol/Greeter.json'
</code></pre><p>Possiamo quindi fare riferimento all'ABI in questo modo:</p><pre><code>console.log("Greeter ABI: ", Greeter.abi)
</code></pre><blockquote>Nota che Ethers.js abilita anche <a href="https://blog.ricmoo.com/human-readable-contract-abis-in-ethers-js-141902f4d917">ABI leggibili dall'uomo</a> , ma non ne parleremo durante questo tutorial.</blockquote><h3 id="come-distribuire-e-utilizzare-una-rete-locale-blockchain"><strong><strong>Come distribuire e utilizzare una rete locale / Blockchain</strong></strong></h3><p>Quindi, distribuiamo il nostro contratto intelligente su una blockchain locale in modo da poterlo testare.</p><p>Per eseguire la distribuzione nella rete locale, devi prima avviare il nodo di test locale. Per fare ciò, apri la CLI ed esegui il seguente comando:</p><pre><code class="language-sh">npx hardhat node
</code></pre><p>Quando eseguiamo questo comando, dovresti vedere un elenco di indirizzi e chiavi private.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e176nc82ik77hei3a48s.jpg" class="kg-image" alt="Indirizzi di nodi hardhat" width="2000" height="1204" loading="lazy"></figure><p>Si tratta di 20 account di prova e indirizzi creati per noi che possiamo utilizzare per implementare e testare i nostri contratti intelligenti. Ogni account è anche caricato con 10.000 falsi Ether. Tra poco impareremo come importare l'account di prova in MetaMask in modo da poterlo utilizzare.</p><p>Successivamente, dobbiamo distribuire il contratto alla rete di test. Per prima cosa aggiorna il nome di <strong><strong>scripts/sample-script.js</strong></strong> in <strong><strong>scripts/deploy.js</strong></strong> .</p><p>Ora possiamo eseguire lo script di distribuzione e dare un flag alla CLI in modo da distribuire sulla nostra rete locale:</p><pre><code class="language-sh">npx hardhat run scripts/deploy.js --network localhost
</code></pre><p>Una volta eseguito questo script, lo smart contract dovrebbe essere distribuito sulla rete di test locale e dovremmo essere quindi in grado di iniziare a interagire con esso.</p><blockquote>Quando il contratto è stato distribuito, utilizzava il primo account creato quando abbiamo avviato la rete locale.</blockquote><p>Se guardi l'output della CLI, dovresti essere in grado di vedere qualcosa del genere:</p><pre><code class="language-sh">Greeter deployed to: 0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0
</code></pre><p>Questo indirizzo è quello che useremo nella nostra applicazione client per parlare con lo smart contract. Mantieni questo indirizzo disponibile poiché dovremo usarlo quando ci connettiamo ad esso dall'applicazione client.</p><p>Per inviare transazioni allo smart contract, dovremo connettere il nostro portafoglio MetaMask utilizzando uno degli account creati quando abbiamo eseguito <code>npx hardhat node</code>. Nell'elenco dei contratti che la CLI ha stampato, dovresti vedere sia un <strong><strong>numero</strong></strong> di conto che una <strong><strong>chiave privata</strong></strong> :</p><pre><code class="language-bash">➜  react-defi-stack git:(main) npx hardhat node
Started HTTP and WebSocket JSON-RPC server at http://127.0.0.1:8545/

Accounts
========
Account #0: 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266 (10000 ETH)
Private Key: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80

...
</code></pre><p>Possiamo importare questo account in MetaMask per iniziare a utilizzare alcuni dei falsi Eth disponibili lì. Per fare ciò, prima apri MetaMask e aggiorna la rete in modo che sia Localhost 8545:</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnbsbcm4y1md6cwjttpx.jpg" class="kg-image" alt="MetaMask Localhost" width="1500" height="1246" loading="lazy"></figure><p>Successivamente, in MetaMask, fai clic su <strong><strong>Import </strong>A<strong>ccount</strong></strong> dal menu degli account:</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n7vbzlov869gwk9rtwl1.jpg" class="kg-image" alt="Importa conto" width="1500" height="1246" loading="lazy"></figure><p>Copia, quindi incolla una delle <strong><strong>chiavi private</strong></strong> stampate nella CLI e fai clic su <strong><strong>Import</strong></strong>. Una volta importato l'account, dovresti vedere l'Eth nell'account:</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x5lob4yug3jznhy9z0qt.jpg" class="kg-image" alt="Conto importato" width="1500" height="1246" loading="lazy"></figure><p>Ora che abbiamo distribuito il nostro contratto intelligente e configurato il nostro account, possiamo iniziare a interagire con esso dall'app React.</p><h3 id="come-collegare-il-client-react"><strong><strong>Come collegare il client React</strong></strong></h3><p>In questo tutorial non ci preoccuperemo di creare una bella interfaccia utente con CSS e tutto il resto: invece ci concentreremo al 100% sulle funzionalità di base per renderti operativo velocemente. Da lì poi, puoi prenderlo e farlo sembrare bello, se lo desideri.</p><p>Detto questo, esaminiamo i due obiettivi che desideriamo dalla nostra applicazione React:</p><ol><li>Recupera il valore corrente di <code>greeting</code> dal contratto intelligente</li><li>Consenti a un utente di aggiornare il valore di <code>greeting</code></li></ol><p>Quindi, come lo realizziamo? Ecco le cose che dobbiamo fare perché ciò avvenga:</p><ol><li>Creare un campo di input e uno stato locale per gestire il valore dell'input (per aggiornare il <code>greeting</code>)</li><li>Consentire all'applicazione di connettersi all'account MetaMask dell'utente per firmare le transazioni</li><li>Creare le funzioni per leggere e scrivere sullo smart contract</li></ol><p>Per fare ciò, apri <code>src/App.js</code> e aggiornalo con il seguente codice, impostando il valore di <code>greeterAddress</code> all'indirizzo del tuo smart contract:</p><pre><code class="language-js">import './App.css';
import { useState } from 'react';
import { ethers } from 'ethers'
import Greeter from './artifacts/contracts/Greeter.sol/Greeter.json'

// Aggiorna con l'indirizzo del contratto stampato dalla CLI quando è stato distribuito 
const greeterAddress = "indirizzo-del-tuo-contratto"

function App() {
  // memorizza il saluto nella stato locale
  const [greeting, setGreetingValue] = useState()

  // richiede l'accesso all'account MetaMask dell'utente
  async function requestAccount() {
    await window.ethereum.request({ method: 'eth_requestAccounts' });
  }

  // chiama lo smart contract, legge il valore attuale del saluto 
  async function fetchGreeting() {
    if (typeof window.ethereum !== 'undefined') {
      const provider = new ethers.providers.Web3Provider(window.ethereum)
      const contract = new ethers.Contract(greeterAddress, Greeter.abi, provider)
      try {
        const data = await contract.greet()
        console.log('data: ', data)
      } catch (err) {
        console.log("Error: ", err)
      }
    }    
  }

  // chiama lo smart contract, invia un aggiornamento
  async function setGreeting() {
    if (!greeting) return
    if (typeof window.ethereum !== 'undefined') {
      await requestAccount()
      const provider = new ethers.providers.Web3Provider(window.ethereum);
      const signer = provider.getSigner()
      const contract = new ethers.Contract(greeterAddress, Greeter.abi, signer)
      const transaction = await contract.setGreeting(greeting)
      await transaction.wait()
      fetchGreeting()
    }
  }

  return (
    &lt;div className="App"&gt;
      &lt;header className="App-header"&gt;
        &lt;button onClick={fetchGreeting}&gt;Fetch Greeting&lt;/button&gt;
        &lt;button onClick={setGreeting}&gt;Set Greeting&lt;/button&gt;
        &lt;input onChange={e =&gt; setGreetingValue(e.target.value)} placeholder="Set greeting" /&gt;
      &lt;/header&gt;
    &lt;/div&gt;
  );
}

export default App;
</code></pre><p>Per testarlo, avvia il server React:</p><pre><code class="language-sh">npm start
</code></pre><p>Quando l'app viene caricata, dovresti essere in grado di recuperare il saluto corrente e stamparlo sulla console. Dovresti anche essere in grado di aggiornare il saluto firmando il contratto con il tuo portafoglio MetaMask e spendendo il falso Ether.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9a57jbzrwylr2l0rujxm.png" class="kg-image" alt="Impostazione e ottenere il valore di saluto" width="1538" height="1294" loading="lazy"></figure><h3 id="come-distribuire-e-utilizzare-una-rete-di-test-dal-vivo"><strong><strong>Come distribuire e utilizzare una rete di test dal vivo</strong></strong></h3><p>Esistono diverse reti di test di Ethereum come Ropsten, Rinkeby o Kovan a cui possiamo anche distribuire per avere una versione pubblicamente accessibile del nostro contratto disponibile senza doverla distribuire sulla mainnet.</p><p>In questo tutorial verrà distribuito nella rete di test <strong><strong>Ropsten .</strong></strong></p><p>Per iniziare, aggiorna prima il tuo portafoglio MetaMask per connetterti alla rete Ropsten.</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k85gplgp26wp58l95bhr.jpg" class="kg-image" alt="Rete Ropsten" width="1500" height="1246" loading="lazy"></figure><p>Quindi, invia a te stesso un Ether di prova da utilizzare durante il resto di questo tutorial visitando <a href="https://faucet.ropsten.be/">questo faucet di prova</a> .</p><p>Possiamo accedere a Ropsten (o a qualsiasi altra rete di test) iscrivendoci a un servizio come <a href="https://infura.io/dashboard/ethereum/cbdf7c5eee8b4e2b91e76b77ffd34533/settings">Infura</a> o <a href="https://www.alchemyapi.io/">Alchemy</a> (sto usando Infura per questo tutorial).</p><p>Dopo aver creato l'app in Infura o Alchemy, ti verrà assegnato un endpoint simile a questo:</p><pre><code>https://ropsten.infura.io/v3/your-project-id
</code></pre><p>Assicurati di impostare <strong><strong>ALLOWLIST ETHEREUM ADDRESSES</strong></strong> nella configurazione dell'app Infura o Alchemy per includere l'indirizzo del portafoglio dell'account da cui eseguirai la distribuzione.</p><p>Per eseguire il deployment nella rete di test, è necessario aggiornare la nostra configurazione di Hardhat con alcune informazioni di rete aggiuntive. Una delle cose che dobbiamo impostare è la chiave privata del portafoglio da cui eseguiremo il deployment.</p><p>Per ottenere la chiave privata, puoi esportarla da MetaMask.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/deod3d6qix8us12t17i4.jpg" class="kg-image" alt="Esporta chiave privata" width="2060" height="1246" loading="lazy"></figure><blockquote>Suggerirei di non codificare questo valore nella tua app, ma invece di impostarlo come una variabile di ambiente.</blockquote><p>Quindi, aggiungi una proprietà <code>networks</code> con la seguente configurazione:</p><pre><code class="language-js">module.exports = {
  defaultNetwork: "hardhat",
  paths: {
    artifacts: './src/artifacts',
  },
  networks: {
    hardhat: {},
    ropsten: {
      url: "https://ropsten.infura.io/v3/your-project-id",
      accounts: [`0x${your-private-key}`]
    }
  },
  solidity: "0.7.3",
};
</code></pre><p>Per eseguire la distribuzione, avviare il seguente script:</p><pre><code class="language-sh">npx hardhat run scripts/deploy.js --network ropsten
</code></pre><p>Una volta distribuito il contratto, dovresti essere in grado di iniziare a interagire con esso. Ora dovresti essere in grado di visualizzare il contratto live su <a href="https://ropsten.etherscan.io/">Etherscan Ropsten Testnet Explorer</a></p><h2 id="come-coniare-i-gettoni"><strong><strong>Come coniare i gettoni</strong></strong></h2><p>Uno dei casi d'uso più comuni degli smart contract è la creazione di token. Diamo un'occhiata a come possiamo farlo. Dal momento che sappiamo un po' di più su come funziona tutto questo, andremo un po' più veloci.</p><p>Nella directory principale dei <strong><strong>contracts</strong></strong>, crea un nuovo file denominato <strong><strong>Token.sol</strong></strong> .</p><p>Quindi, aggiorna <strong><strong>Token.sol</strong></strong> con il seguente contratto intelligente:</p><pre><code class="language-solidity">//SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;

import "hardhat/console.sol";

contract Token {
  string public name = "Nader Dabit Token";
  string public symbol = "NDT";
  uint public totalSupply = 1000000;
  mapping(address =&gt; uint) balances;

  constructor() {
    balances[msg.sender] = totalSupply;
  }

  function transfer(address to, uint amount) external {
    require(balances[msg.sender] &gt;= amount, "Gettoni non sufficienti");
    balances[msg.sender] -= amount;
    balances[to] += amount;
  }

  function balanceOf(address account) external view returns (uint) {
    return balances[account];
  }
}
</code></pre><blockquote>Tieni presente che questo contratto token è solo a scopo dimostrativo e non è conforme a <a href="https://eips.ethereum.org/EIPS/eip-20">ERC20</a> . Tratteremo i token ERC20 in seguito.</blockquote><p>Questo contratto creerà un nuovo token chiamato "Nader Dabit Token" e imposterà la fornitura a 1000000.</p><p>Quindi, compila questo contratto:</p><pre><code class="language-sh">npx hardhat compile
</code></pre><p>Ora, aggiorna lo script di distribuzione su <strong><strong>scripts/deploy.js</strong></strong> per includere questo nuovo contratto Token:</p><pre><code class="language-javascript">const hre = require("hardhat");

async function main() {
  const [deployer] = await hre.ethers.getSigners();

  console.log(
    "Distribuzione di contratti con l'account:",
    deployer.address
  );
  
  const Greeter = await hre.ethers.getContractFactory("Greeter");
  const greeter = await Greeter.deploy("Hello, World!");

  const Token = await hre.ethers.getContractFactory("Token");
  const token = await Token.deploy();
  
  await greeter.deployed();
  await token.deployed();

  console.log("Greeter distribuito a:", greeter.address);
  console.log("Token distribuito a:", token.address);
}

main()
  .then(() =&gt; process.exit(0))
  .catch(error =&gt; {
    console.error(error);
    process.exit(1);
  });
</code></pre><p>Ora possiamo distribuire questo nuovo contratto sulla rete locale o Ropsten:</p><pre><code class="language-sh">npx hardhat run scripts/deploy.js --network localhost
</code></pre><p>Una volta distribuito il contratto, puoi iniziare a inviare questi token ad altri indirizzi.</p><p>Per fare ciò, aggiorniamo il codice client di cui avremo bisogno per farlo funzionare:</p><pre><code class="language-javascript">import './App.css';
import { useState } from 'react';
import { ethers } from 'ethers'
import Greeter from './artifacts/contracts/Greeter.sol/Greeter.json'
import Token from './artifacts/contracts/Token.sol/Token.json'

const greeterAddress = "il-tuo-indirizzo-di-contratto"
const tokenAddress = "il-tuo-indirizzo-di-contratto"

function App() {
  const [greeting, setGreetingValue] = useState()
  const [userAccount, setUserAccount] = useState()
  const [amount, setAmount] = useState()

  async function requestAccount() {
    await window.ethereum.request({ method: 'eth_requestAccounts' });
  }

  async function fetchGreeting() {
    if (typeof window.ethereum !== 'undefined') {
      const provider = new ethers.providers.Web3Provider(window.ethereum)
      console.log({ provider })
      const contract = new ethers.Contract(greeterAddress, Greeter.abi, provider)
      try {
        const data = await contract.greet()
        console.log('data: ', data)
      } catch (err) {
        console.log("Error: ", err)
      }
    }    
  }

  async function getBalance() {
    if (typeof window.ethereum !== 'undefined') {
      const [account] = await window.ethereum.request({ method: 'eth_requestAccounts' })
      const provider = new ethers.providers.Web3Provider(window.ethereum);
      const contract = new ethers.Contract(tokenAddress, Token.abi, provider)
      const balance = await contract.balanceOf(account);
      console.log("Balance: ", balance.toString());
    }
  }

  async function setGreeting() {
    if (!greeting) return
    if (typeof window.ethereum !== 'undefined') {
      await requestAccount()
      const provider = new ethers.providers.Web3Provider(window.ethereum);
      console.log({ provider })
      const signer = provider.getSigner()
      const contract = new ethers.Contract(greeterAddress, Greeter.abi, signer)
      const transaction = await contract.setGreeting(greeting)
      await transaction.wait()
      fetchGreeting()
    }
  }

  async function sendCoins() {
    if (typeof window.ethereum !== 'undefined') {
      await requestAccount()
      const provider = new ethers.providers.Web3Provider(window.ethereum);
      const signer = provider.getSigner();
      const contract = new ethers.Contract(tokenAddress, Token.abi, signer);
      const transation = await contract.transfer(userAccount, amount);
      await transation.wait();
      console.log(`${amount} Coins successfully sent to ${userAccount}`);
    }
  }

  return (
    &lt;div className="App"&gt;
      &lt;header className="App-header"&gt;
        &lt;button onClick={fetchGreeting}&gt;Fetch Greeting&lt;/button&gt;
        &lt;button onClick={setGreeting}&gt;Set Greeting&lt;/button&gt;
        &lt;input onChange={e =&gt; setGreetingValue(e.target.value)} placeholder="Set greeting" /&gt;

        &lt;br /&gt;
        &lt;button onClick={getBalance}&gt;Get Balance&lt;/button&gt;
        &lt;button onClick={sendCoins}&gt;Send Coins&lt;/button&gt;
        &lt;input onChange={e =&gt; setUserAccount(e.target.value)} placeholder="Account ID" /&gt;
        &lt;input onChange={e =&gt; setAmount(e.target.value)} placeholder="Amount" /&gt;
      &lt;/header&gt;
    &lt;/div&gt;
  );
}

export default App;
</code></pre><p>Quindi, esegui l'app:</p><pre><code class="language-sh">npm start
</code></pre><p>Dovremmo essere in grado di fare clic su <strong><strong>Get Balance</strong></strong> e vedere che abbiamo 1.000.000 di monete nel nostro account stampato sulla console.</p><p>Dovresti anche essere in grado di visualizzarli in MetaMask facendo clic su <strong><strong>Add Token</strong></strong>:</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0t2ip26i5d2ltjc9j2a6.jpg" class="kg-image" alt="Aggiungi token" width="1500" height="1246" loading="lazy"></figure><p>Quindi fai clic su <strong><strong>Custom Token</strong></strong> e inserisci l'indirizzo del contratto del token e poi <strong><strong>Add Token</strong></strong> . Ora i token dovrebbero essere disponibili nel tuo portafoglio:</p><figure class="kg-card kg-image-card"><img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5op32iqbeszizri72qc0.jpg" class="kg-image" alt="NDT" width="1500" height="1246" loading="lazy"></figure><p>Quindi, proviamo a inviare quelle monete a un altro indirizzo.</p><p>Per fare ciò, copia l'indirizzo di un altro account e invialo a quell'indirizzo utilizzando l'interfaccia utente di React aggiornata. Quando controlli l'importo del token, dovrebbe essere uguale all'importo originale meno l'importo che hai inviato all'indirizzo.</p><h2 id="come-costruire-un-token-erc20"><strong><strong>Come costruire un token ERC20</strong></strong></h2><p>Lo <a href="https://ethereum.org/en/developers/docs/standards/tokens/erc-20/">standard dei token ERC20</a> definisce un insieme di regole che si applicano a tutti i token ERC20 che consentono loro di interagire facilmente tra loro. ERC20 rende davvero facile per qualcuno coniare i propri token che avranno interoperabilità con altri sulla blockchain di Ethereum.</p><p>Diamo un'occhiata a come possiamo costruire il nostro token utilizzando lo standard ERC20.</p><p>Innanzitutto, installa la libreria di smart contract <code>ERC20</code> &nbsp;<a href="https://github.com/OpenZeppelin/openzeppelin-contracts">OpenZepplin</a> in cui importeremo il token di base:</p><pre><code class="language-sh">npm install @openzeppelin/contracts
</code></pre><p>Successivamente, creeremo il nostro token estendendo (o ereditando) il contratto <code>ERC20</code>:</p><pre><code class="language-solidity">//SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract NDToken is ERC20 {
    constructor(string memory name, string memory symbol) ERC20(name, symbol) {
        _mint(msg.sender, 100000 * (10 ** 18));
    }
}
</code></pre><p>Il costruttore consente di impostare il nome e il simbolo del token e la funzione <code>_mint</code> consente di coniare i token e di impostare l'importo.</p><p>Per impostazione predefinita, ERC20 imposta il numero di decimali a 18, quindi nella nostra funzione <code>_mint</code> moltiplichiamo 100.000 per 10 alla potenza 18 per coniare un totale di 100.000 gettoni, ciascuno con 18 cifre decimali (in modo simile a come 1 Eth è composto da 10 a 18 <a href="https://www.investopedia.com/terms/w/wei.asp">wei</a> .</p><p>Per distribuire, dobbiamo passare i valori del costruttore (<code>name</code> e <code>symbol</code>), quindi potremmo fare qualcosa del genere nel nostro script di distribuzione:</p><pre><code class="language-javascript">const NDToken = await hre.ethers.getContractFactory("NDToken");
const ndToken = await NDToken.deploy("Nader Dabit Token", "NDT");
</code></pre><p>Estendendo il token ERC20 originale, il tuo token erediterà tutte le seguenti funzioni e funzionalità:</p><pre><code class="language-solidity">function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
</code></pre><p>Una volta implementato, puoi utilizzare una qualsiasi di queste funzioni per interagire con il nuovo contratto intelligente. Per un altro esempio di token ERC20, dai un'occhiata a Solidity by example qui: <a href="https://solidity-by-example.org/app/erc20/">https://solidity-by-example.org/app/erc20/</a> .</p><h2 id="conclusione"><strong><strong>Conclusione</strong></strong></h2><p>Ok, abbiamo trattato molto in questo articolo. Ma per me questo è una specie di pane quotidiano / essenziale per iniziare con questo stack.</p><p>È un po' quello che volevo avere, non solo come qualcuno che sta imparando tutte queste cose, ma anche in futuro, se mai avessi bisogno di fare riferimento a qualcosa di cui potrei aver bisogno. Spero che tu abbia imparato molto.</p><p>Se desideri supportare più portafogli oltre a MetaMask, dai un'occhiata a <a href="https://github.com/Web3Modal/web3modal">Web3Modal</a> che semplifica l'implementazione del supporto per più provider nella tua app con una configurazione abbastanza semplice e personalizzabile.</p><p>Nei miei futuri tutorial e guide, mi immergerò nello sviluppo di contratti intelligenti più complessi e anche su come distribuirli come <a href="https://thegraph.com/docs/define-a-subgraph">sottografi</a> per esporre un'API GraphQL su di essi e implementare cose come l'impaginazione e la ricerca full-text.</p><p>Tratterò anche di come utilizzare tecnologie come IPFS e database Web3 per archiviare i dati in modo decentralizzato.</p><p>Se hai domande o suggerimenti per futuri tutorial, fammi sapere.<br></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Come entrare in Ethereum, Crypto e Web3 come sviluppatore ]]>
                </title>
                <description>
                    <![CDATA[ Ultimamente, ho parlato [https://twitter.com/dabit3/status/1391171104757125122]  del mio passaggio [https://twitter.com/dabit3/status/1379157277660299264] allo  spazio Web3 [https://ethereum.org/en/developers/docs/web2-vs-web3/] , Ethereum e crypto, cioè da quando sono passato da una conoscenza tradizionale del Web, mobile e cloud. Da quando ho fatto ciò, un numero impressionante di persone mi ha contattato e anche loro stanno pensando ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/come-entrare-in-ethereum-crypto-e-web3-come-sviluppatore/</link>
                <guid isPermaLink="false">621a3958b6d6770504318e36</guid>
                
                    <category>
                        <![CDATA[ blokchain ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web3 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Angelo Mirabelli ]]>
                </dc:creator>
                <pubDate>Wed, 02 Mar 2022 09:48:41 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/02/break-into-blockchain-article.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/breaking-into-ethereum-crypto-web3-as-a-developer/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Break into Ethereum, Crypto, and Web3 as a Developer</a>
      </p><p>Ultimamente, ho <a href="https://twitter.com/dabit3/status/1391171104757125122">parlato</a> del <a href="https://twitter.com/dabit3/status/1379157277660299264">mio passaggio</a> allo <a href="https://ethereum.org/en/developers/docs/web2-vs-web3/">spazio Web3</a> , Ethereum e crypto, cioè da quando sono passato da una conoscenza tradizionale del Web, mobile e cloud.</p><p>Da quando ho fatto ciò, un numero impressionante di persone mi ha contattato e anche loro stanno pensando di fare lo stesso.</p><p>È davvero fantastico vedere così tante altre persone interessate a questi campi. E se devo essere onesto, è confortante sapere che anche così tanti altri sono in osservazione e sono anche così profondamente interessati al questo contesto.</p><p>Quanto a me, ero nervoso all'idea di cambiare carriera. Il passaggio a un'area di specializzazione completamente nuova, con una tecnologia su cui mi stavo ancora potenziando e una comunità in cui non ero ancora coinvolto, è stato un grande salto. Soprattutto rispetto a un lavoro molto comodo in un'azienda FAANG, con un'ottimo stipendio (e una squadra che ho davvero amato).</p><p>Dopo oltre un mese, non ho rimpianti per il cambiamento. Sono anche più felice e sono eccitato e pieno di energia per le cose su cui ho l'opportunità di lavorare ogni giorno.</p><p>Ho deciso di scrivere questo post per fornire indicazioni a chiunque cerchi di entrare in blockchain, criptovalute, Ethereum e Web3 da un background di sviluppo tradizionale. Posso indirizzare le persone a questo mio post sul blog la prossima volta che mi verrà chiesto su come entrare in questo ambito.</p><h3 id="divider-questo-articolo-in-alcune-parti-principali-"><strong>Dividerò<strong> questo articolo in alcune parti principali:</strong></strong></h3><ol><li>Tecnologie e risorse per imparare</li><li>Compromessi e considerazioni</li><li>Persone da seguire</li><li>Aziende che assumono e fanno cose interessanti</li><li>Suggerimenti generali e ottenimento di un lavoro</li></ol><p>Iniziamo.</p><h2 id="tecnologie-e-risorse-per-conoscere-ethereum-e-blockchain"><strong><strong>Tecnologie e risorse per conoscere Ethereum e Blockchain</strong></strong></h2><p>Quello che mi interessa di più è di solito cercare di prevedere dove la tecnologia andrà nel prossimo futuro e dove vedo l'attuale slancio. Quindi è su questo che mi concentrerò qui (ed è quello che sto facendo personalmente).</p><p>Per me, le parti più interessanti di questo spazio sono la decentralizzazione, <a href="https://blog.coinbase.com/a-beginners-guide-to-decentralized-finance-defi-574c68ff43c4">la DeFi</a> , la <a href="https://docs.ethhub.io/ethereum-basics/governance/">governance</a> / <a href="https://www.investopedia.com/tech/what-dao/">DAO</a> e <a href="https://www.youtube.com/watch?v=j2rXJLW_93o">l'infrastruttura web decentralizzata</a> .</p><p>Per questo motivo, mi sto concentrando sia sullo sviluppo di Ethereum che su Solidity. Con il linguaggio di programmazione Solidity, puoi programmare contratti intelligenti per Ethereum e per molti altri <a href="https://chainid.network/">blockchain compatibili con EVM</a> .</p><p><a href="https://everest.link/">Al momento della stesura di questo articolo, Ethereum ha anche la potente e importante combinazione di slancio, condivisione mentale degli sviluppatori e dapp</a> di produzione esistenti .</p><p>Anche Ethereum sta attualmente passando a un nuovo meccanismo di consenso, <a href="https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/">proof of stake</a> . Questo risolve le preoccupazioni ambientali che avevo su come funziona la criptovaluta a livello centrale.</p><p>Dopo aver appreso le basi di come funziona il tutto, ti incoraggio a controllare altri blockchain e progetti al di fuori di Ethereum ed EVM.</p><p>Questo ti darà una migliore comprensione del settore nel suo insieme. Ti aiuterà anche a vedere se ci sono altri progetti che ti attraggono o che ritieni siano approcci migliori per raggiungere l'obiettivo che è Web3.</p><p>Considera di esaminare <a href="https://solana.com/">Solana</a> , <a href="https://polkadot.network/">Polkadot</a> , <a href="https://near.org/">Near</a> , <a href="https://www.avax.network/">Avalanche</a> o <a href="https://cosmos.network/">Cosmos</a> .</p><p>Per iniziare ad imparare lo sviluppo della blockchain con Ethereum e Solidity, ti suggerisco di fare quanto segue:</p><h3 id="1-leggi-la-documentazione-di-ethereum"><strong><strong>1. Leggi </strong>la<strong> document</strong>azione<strong> di Ethereum</strong></strong></h3><p>Esplora la <a href="https://ethereum.org/it/developers/docs/">documentazione di Ethereum</a>. Assicurati di controllare la sezione <a href="https://ethereum.org/it/developers/docs/intro-to-ethereum/">Introduzione a Ethereum</a> e qualsiasi altra cosa che attiri la tua attenzione.</p><p>Assicurati anche di dare un'occhiata alla <a href="https://ethereum.org/it/dapps/">vetrina di dapp</a> per avere una buona comprensione delle app di successo create e utilizzate nell'attuale ecosistema.</p><h3 id="2-leggi-la-documentazione-di-solidity"><strong><strong>2. Leggi la documentazione di Solidity</strong></strong></h3><p>La documentazione di <a href="https://docs.soliditylang.org/en/v0.8.4/">Solidity</a> è un ottimo punto di partenza, in particolare la <a href="https://docs.soliditylang.org/en/v0.8.4/solidity-by-example.html">Solidity tramite esempio</a> . Questo ti offre alcuni esempi di contratti intelligenti popolari come il voto, un'asta, l'acquisto a distanza e i micropagamenti.</p><p>Puoi copiare e incollare questi contratti <a href="https://remix.ethereum.org/">nell'IDE Remix</a> per iniziare a eseguirli e modificarli per vedere come funzionano.</p><p>Ho anche fatto un video sulla procedura dettagliata del contratto di voto <a href="https://www.youtube.com/watch?v=GB3hiiNNDjk">qui</a> .</p><h3 id="3-mettiti-comodo-con-remix-ide"><strong><strong>3. Mettiti comodo con Remix IDE</strong></strong></h3><p>È davvero facile giocare e iniziare a creare contratti intelligenti senza dover configurare alcun tipo di ambiente di sviluppo utilizzando <a href="https://remix.ethereum.org/">Remix IDE</a> . Fa parte del <a href="https://remix-project.org/">Remix Project</a> , finanziato dalla <a href="https://ethereum.foundation/">Ethereum Foundation</a> .</p><p>Questo Remix IDE ti consente di creare, modificare ed eseguire contratti intelligenti direttamente dal tuo browser. Offre un ambiente perfetto per imparare come funziona Solidity. È anche ottimo per creare vari tipi di contratti intelligenti e giocarci mentre impari sia Solidity che come interagire con Ethereum</p><h3 id="4-prova-a-creare-un-dapp-full-stack"><strong><strong>4. Prova a creare un dapp </strong>full stack</strong></h3><p>Oltre a Solidity, le altre parti dello stack di sviluppo includono un ambiente Ethereum locale come <a href="https://hardhat.org/">Hardhat</a> o <a href="https://www.trufflesuite.com/">Truffle</a> , un portafoglio come <a href="https://metamask.io/">Metamask</a> , nonché una libreria lato client che ti consente di interagire con la blockchain, come <a href="https://docs.ethers.io/">Ethers.js</a> o <a href="https://web3js.readthedocs.io/">Web3.js</a> .</p><p>Per capire come tutto questo si adatta insieme, è utile creare da zero un dapp full stack su questo complesso di elementi. Puoi impostare il progetto front-end e l'ambiente di sviluppo locale e distribuire, eseguire e interagire con uno smart contract sulla blockchain.</p><p>Ecco due corsi introduttivi per iniziare con questo:</p><ol><li><a href="https://www.youtube.com/watch?v=xWFba_9QYmc">Tutorial di programmazione Ethereum - DeFi, Solidity, Truffle, Web3.js</a></li><li><a href="https://www.youtube.com/watch?v=a0osIaAOFSE">La guida completa allo sviluppo di Full Stack Ethereum</a> ( <a href="https://www.freecodecamp.org/news/full-stack-ethereum-development/">ed eccola anche sotto forma di articolo</a> )</li></ol><h3 id="5-considera-la-lettura-di-questi-libri"><strong><strong>5. Considera la lettura di questi libri</strong></strong></h3><p>Lo spazio stesso si muove molto rapidamente, quindi i libri tecnici spesso diventano obsoleti altrettanto rapidamente. I fondamenti di ciò che è Web3, tuttavia, non sono cambiati molto.</p><p>Ci sono alcuni libri davvero fantastici che mi hanno aiutato non solo a cogliere lo stato attuale di ogni cosa, ma che mi hanno anche aiutato ad aprire gli occhi sulle possibilità e opportunità future che si trovano al suo interno.</p><h4 id="token-economy-come-il-web3-reinventa-internet"><strong><strong>Token Economy - Come il Web3 reinventa Internet</strong></strong></h4><p>Se hai intenzione di leggere solo uno di questi libri, questo è quello che direi che è il più importante. È un'immersione magistrale in tutte le carenze del web come lo conosciamo, cosa vuole essere il Web3, come influenzerà le varie parti della nostra vita attuale e cosa deve accadere affinché questa visione si realizzi .</p><p>Puoi visualizzare il libro <a href="https://shermin.net/token-economy-book/">qui</a> .</p><h4 id="the-infinite-machine-come-un-esercito-di-cripto-hacker-sta-costruendo-la-prossima-internet-con-ethereum"><strong><strong>The Infinite Machine - Come un esercito di cripto-hacker sta costruendo la prossima Internet con Ethereum</strong></strong></h4><p>Questa è la straordinaria storia di come è nato Ethereum, guidandoti attraverso la storia di tutto questo. È un resoconto molto approfondito e divertente della storia delle origini di Ethereum, consiglio vivamente di provarlo.</p><p>Puoi visualizzare il libro <a href="https://www.harpercollins.com/products/the-infinite-machine-camila-russo?variant=32123333836834">qui</a> .</p><h4 id="new-village-ritorno-al-potere-delle-persone"><strong>New Village<strong> - Ritorno al potere delle persone</strong></strong></h4><p>Questa è una storia davvero interessante su come le tecnologie blockchain e il decentramento influenzeranno il futuro del mondo.</p><p>Puoi visualizzare il libro <a href="https://www.amazon.com/New-Village-Power-Back-People-Blockchain/dp/1718045743">qui</a></p><h4 id="how-to-defi"><strong>How to DeFi</strong></h4><p>Come probabilmente puoi intuire dal titolo, questo libro si concentra su come puoi iniziare a utilizzare la DeFi oggi. Ti dà una buona comprensione di come puoi usarla oggi e di alcune sue applicazioni che vedremo in futuro.</p><p>Puoi visualizzare il libro <a href="https://landing.coingecko.com/how-to-defi/">qui</a></p><h4 id="the-spatial-web"><strong>The Spatial Web</strong></h4><p>The Spatial Web è un libro che esplora il futuro del web e tutte le implicazioni, non solo del Web3 e del decentramento, ma come tutto si unirà per consentire cose che potremmo non aver ancora considerato.</p><p>Fa un buon lavoro soppesando gli aspetti positivi e negativi, nonché i modi in cui potremmo essere in grado di affrontare eventuali esiti negativi di ciò che verrà.</p><p>Puoi visualizzare il libro <a href="https://www.goodreads.com/book/show/52816204-the-spatial-web">qui</a></p><p>Ed ecco un paio di libri su solidity:</p><ul><li><a href="https://www.oreilly.com/library/view/hands-on-smart-contract/9781492045250/">Sviluppo pratico di contratti intelligenti con Solidity ed Ethereum</a></li><li><a href="https://www.oreilly.com/library/view/mastering-ethereum/9781491971932/">Padroneggiare Ethereum</a></li></ul><h3 id="6-ascolta-questi-podcast"><strong><strong>6. Ascolta questi podcast</strong></strong></h3><p>Ecco alcuni buoni podcast:</p><ul><li><a href="https://outlierventures.io/podcasts/">Fondatori di Web 3</a> – Le persone che stanno creando e costruendo la prossima fase di Internet.</li><li><a href="http://podcast.banklesshq.com/">Bankless</a> : la guida definitiva alla criptofinanza</li><li><a href="https://podcast.ethhub.io/">Into the Ether</a> – Podcast su Ethereum</li><li><a href="https://player.fm/series/crypto-101">Cripto 101</a></li><li><a href="https://player.fm/series/epicenter-learn-about-crypto-blockchain-ethereum-bitcoin-and-distributed-technologies-41400">Epicenter</a> : scopri le tecnologie Crypto, Blockchain, Ethereum, Bitcoin e distribuite</li></ul><h3 id="7-guarda-questi-canali-youtube"><strong><strong>7. Guarda questi canali YouTube</strong></strong></h3><ul><li><a href="https://www.youtube.com/channel/UCNOfzGXD_C9YMYmnefmPH0g">Fondazione Ethereum</a></li><li><a href="https://www.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA">Eat the Blocks</a> – Brevi video sullo sviluppo della blockchain</li><li><a href="https://www.youtube.com/c/Finematics/videos">Finematics</a> – Condivisione di video DeFi interessanti</li><li><a href="https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ">Dapp University</a> – Video nello spazio di Ethereum</li><li><a href="https://www.youtube.com/c/BlockGeeks/featured">BlockGeeks</a> – Formazione Blockchain generale</li><li><a href="https://www.youtube.com/channel/UCvCp6vKY5jDr87htKH6hgDA">Il quotidiano Gwei</a></li><li><a href="https://www.youtube.com/channel/UC_HI2i2peo1A-STdG22GFsA">Austin Griffith</a></li></ul><p>Ho anche iniziato a fare video e tutorial su Ethereum e Solidity, quindi considera di dare un'occhiata al <a href="https://www.youtube.com/channel/UC7mca3O0DmdSG2Cr80sOD7g">mio</a> canale YouTube.</p><h2 id="compromessi-e-considerazioni-sul-cambio-di-carriera"><strong><strong>Compromessi e considerazioni sul cambio di carriera</strong></strong></h2><p>Ci sono sempre cose da considerare quando si effettua una transizione di carriera, ma soprattutto quando si considera questo contesto.</p><p>Ci sono molti aspetti positivi, ma ci sono anche incognite come anche aspetti negativi. Parliamo di alcuni di loro.</p><h3 id="-una-tecnologia-nascente"><strong><strong>È una tecnologia nascente</strong></strong></h3><p>Mentre ci sono molte dapp esistenti e aziende già fiorenti, questo spazio sta ancora nascendo in molti modi.</p><p>Ci sono molti problemi che dobbiamo ancora risolvere e non ci sono risposte chiare per molte domande che avrai. I problemi da risolvere sono spesso complessi, a volte combinano uno o più aspetti dei sistemi distribuiti, teoria dei giochi, crittografia, economia, scienze sociali e politiche, identità, psicologia e altro ancora.</p><p>Per questo motivo, ci sono ancora cose che non possiamo finora costruire con le soluzioni esistenti che sono attualmente disponibili.</p><p>Personalmente penso che questa sia una delle cose più eccitanti di tutto ciò, ma non è per tutti.</p><h3 id="-uno-spazio-volatile"><strong><strong>È uno spazio volatile</strong></strong></h3><p>Molti dei progetti sono costruiti attorno a vari tipi di token. Il valore di molti di questi gettoni aumenta e diminuisce drasticamente e spesso si vede che le persone guadagnano e perdono interesse all'argomento in base a queste oscillazioni.</p><p>Se non hai fondamentalmente accettato le idee alla base del decentramento stesso, potresti trovare questi alti e bassi mentalmente faticosi.</p><h3 id="-pieno-di-speculazione"><strong><strong>È pieno di speculazion</strong>e</strong></h3><p>Poiché molta gente acquista determinati token unicamente a scopo speculativo, ciò attira alcune persone solo per i soldi.</p><p>Vedi cose come truffatori che cercano di avere la meglio sulle persone e rubare i loro soldi, discorsi interminabili sulle oscillazioni dei prezzi da parte di persone che speculano e veri e propri progetti truffa che spesso screditano l'industria nel suo insieme.</p><p>Questa è una parte fastidiosa e non penso che se terminerà presto.</p><h3 id="questa-discussione"><strong><strong>Quest</strong>a<strong> </strong>discussione</strong></h3><p>Vorrei anche che tu dia un'occhiata a <a href="https://twitter.com/jonsyu/status/1389635626698297344">questa discussione su Twitter</a>. Anche se non ho sperimentato tutte queste cose, sta sicuramente chiarendo alcune delle cose che ho visto.</p><h2 id="suggerimenti-generali-e-come-ottenere-un-lavoro-blockchain-o-relativo-alle-criptovalute"><strong><strong>Suggerimenti generali e come ottenere un lavoro Blockchain o relativo alle criptovalute</strong></strong></h2><p>Ci sono molte aree all'interno dello spazio su cui puoi concentrarti e magari poi fornire un impatto positivo su una squadra. Esaminerei le diverse aree come governance, DeFi, NFT e protocolli web decentralizzati per vedere cosa ti interessa di più e poi concentrarti su quello.</p><p>Ci sono molte opportunità e molti modi per distinguersi e farsi notare. Se trovi un progetto interessante e vorresti essere coinvolto, entra subito nella loro comunità ed ecosistema e inizia ad imparare. Quindi vedi dove potresti essere in grado di dare una mano. Unisciti a Discord o guarda i loro problemi su GitHub per trovare modi in cui puoi contribuire.</p><p>Questo ti darà l'opportunità di incontrare persone coinvolte nel progetto e aprirà discussioni per ottenere potenzialmente un ruolo con loro. In effetti, è molto comune che le persone all'interno dei team prendano nota dei partecipanti più attivi della comunità, quindi spesso ti contattano e cercheranno di reclutarti senza nemmeno candidarti.</p><p>La paga è generalmente <a href="https://cryptocurrencyjobs.co/salaries/solidity-developer/">buona</a>. A seconda da dove vieni, potrebbe essere maggiore o minore, ma probabilmente non sarà ai livelli elevati di quello che vedi nelle aziende FAANG.</p><p>Probabilmente c'è più potenziale di rialzo. La maggior parte delle aziende offre una combinazione di retribuzione base + equità sotto forma di token digitale, quindi se rimani e puoi contribuire a rendere il progetto di successo e il valore del token aumenta, spesso puoi guadagnare di più di quanto faresti in molti altre aree.</p><h2 id="persone-da-seguire-su-twitter"><strong><strong>Persone da seguire su Twitter</strong></strong></h2><p>Ecco alcune persone che potresti considerare di seguire su Twitter:</p><p><a href="https://twitter.com/VitalikButerin">Vitalik</a><br><a href="https://twitter.com/ashleighschap">Ashleigh Schapp</a><br><a href="https://twitter.com/CryptoHayes">Arthur Hayes</a><br><a href="https://twitter.com/StaniKulechov">Stani Kulechov</a><br><a href="https://twitter.com/gkimbwala">Gloria Kimbwala</a><br><a href="https://twitter.com/niran">Niran Babalola</a><br><a href="https://twitter.com/ricburton">Ric Burton</a><br><a href="https://twitter.com/dennisonbertram">Dennison Bertram</a><br><a href="https://twitter.com/manasilvora">Mana Silvora</a><br><a href="https://twitter.com/austingriffith">Austin Griffith</a><br><a href="https://twitter.com/smpalladino">Santiago Palladino</a><br><a href="https://twitter.com/zmanian">Zaki Manian</a><br><a href="https://twitter.com/sassal0x">Anthony Sassano</a></p><p>Ho anche trovato <a href="https://twitter.com/i/lists/869994563691319296/members">questo elenco completo</a> creato da qualcuno su Twitter.</p><p>Alcune persone nel mio team di <a href="https://twitter.com/edgeandnode">Edge &amp; Node</a> :<br><a href="https://twitter.com/yanivgraph">Yaniv Tal</a><br><a href="https://twitter.com/theklineventure">Tegan Kline</a><br><a href="https://twitter.com/evabeylin">Eva Beylin</a><br><a href="https://twitter.com/azacharyf">Adam Fuller</a><br><a href="https://twitter.com/RezBrandon">Brandon Ramirez</a></p><h2 id="squadre-che-fanno-cose-interessanti-e-assunzioni-"><strong><strong>Squadre che fanno cose interessanti (e assunzioni)</strong></strong></h2><p><a href="https://compound.finance/about#jobs">Compound</a><br><a href="https://jobs.lever.co/Uniswap">Uniswap</a><br><a href="https://chainlinklabs.com/careers">Chainlink</a><br><a href="https://jobs.lever.co/SkynetLabs">Skynet Labs</a><br><a href="https://aave.com/careers/">Aave</a><br><a href="https://matic.network/careers/">Matic</a><br><a href="https://livepeer.org/jobs">Livepeer</a><br><a href="https://consensys.net/open-roles/">Consensys</a><br><a href="https://medium.com/the-ethereum-name-service/ens-is-hiring-come-build-a-new-decentralized-internet-with-us-24398dea3ac">ENS</a><br><a href="https://openzeppelin.com/jobs/">OpenZeppelin</a><br><a href="https://foundation.app/careers">Foundation</a><br><a href="https://cryptocurrencyjobs.co/startups/zora/">Zora</a><br><a href="https://synthetix.com/careers">Synthetix</a><br><a href="https://jobs.dcg.co/companies">Digital Currency Group</a></p><p>Puoi anche trovare un elenco abbastanza decente di opportunità di lavoro in criptovaluta <a href="https://cryptocurrencyjobs.co/">qui</a> .</p><p>Inoltre, il mio team di <a href="https://edgeandnode.com/jobs">Edge &amp; Node sta assumendo</a> !</p><h2 id="conclusione"><strong><strong>Conclusione</strong></strong></h2><p>Ho già detto che questo spazio è volatile? Preparati per alcuni alti e bassi, ma anche per alcuni dei momenti più divertenti che potresti avere nella tua carriera.</p><p>Lavorerai al fianco di alcune delle persone più intelligenti nell'ambito della tecnologia cercando di risolvere alcuni dei problemi più complessi che penso che alla fine avranno un enorme impatto positivo sull'umanità.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cos'è il Web3? Spiegazione dell'Internet decentralizzato del futuro ]]>
                </title>
                <description>
                    <![CDATA[ Se stai leggendo questo articolo, allora sei un utente del web moderno. Il web che stiamo vivendo oggi è molto diverso da quello che era solo 10 anni fa. Come si è evoluto il web e, soprattutto, dove sta andando? Inoltre, perché una qualsiasi di queste cose è importante? Se ]]>
                </description>
                <link>https://www.freecodecamp.org/italian/news/cose-il-web3-spiegazione-dellinternet-decentralizzato-del-futuro/</link>
                <guid isPermaLink="false">621a06d4b6d6770504318d64</guid>
                
                    <category>
                        <![CDATA[ Web3 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Angelo Mirabelli ]]>
                </dc:creator>
                <pubDate>Tue, 01 Mar 2022 10:27:49 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/italian/news/content/images/2022/02/web3-future-of-web.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Articolo originale:</strong> <a href="https://www.freecodecamp.org/news/what-is-web3/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">What is Web3? The Decentralized Internet of the Future Explained</a>
      </p><p>Se stai leggendo questo articolo, allora sei un utente del web moderno. Il web che stiamo vivendo oggi è molto diverso da quello che era solo 10 anni fa. Come si è evoluto il web e, soprattutto, dove sta andando? Inoltre, perché una qualsiasi di queste cose è importante?</p><p>Se la storia ci ha insegnato qualcosa, allora questi cambiamenti sono molto importanti.</p><p>In questo articolo, illustrerò come si è evoluto il Web, dove sta andando e perché questo è importante.</p><p>Pensa a come Internet influisce sulla tua vita ogni giorno. Considera come la società è cambiata a causa di Internet. Piattaforme di social media. App per telefoni. E ora Internet sta attraversando un altro cambio di paradigma mentre parliamo.</p><h2 id="l-evoluzione-del-web"><strong><strong><strong>L'evoluzione del web</strong></strong></strong></h2><p>Il web si è evoluto molto nel corso degli anni e le sue applicazioni oggi sono quasi irriconoscibili rispetto ai suoi <a href="https://it.wikipedia.org/wiki/Storia_di_Internet">primi giorni</a> . L'evoluzione del web è spesso suddivisa in tre fasi separate: Web 1.0, Web 2.0 e Web 3.0.</p><h3 id="che-cos-il-web-1-0"><strong><strong><strong>Che cos'è il Web 1.0?</strong></strong></strong></h3><p>Il Web 1.0 è stata la prima iterazione del Web. La maggior parte degli utenti erano consumatori di contenuti e i creatori erano in genere sviluppatori che costruivano siti Web che contenevano informazioni fornite principalmente in formato testo o immagine. Il Web 1.0 è durato approssimativamente dal 1991 al 2004.</p><p>Il Web 1.0 consisteva in siti che servivano contenuto statico anziché HTML dinamico. I dati e il contenuto venivano serviti da un file system statico anziché da un database e i siti non avevano affatto molta interattività.</p><p>Puoi pensare al Web 1.0 come al Web di sola lettura.</p><h3 id="che-cos-il-web-2-0"><strong><strong><strong>Che cos'è il Web 2.0?</strong></strong></strong></h3><p>La maggior parte di noi ha sperimentato principalmente il web nella sua forma attuale, comunemente indicata come <a href="https://it.wikipedia.org/wiki/Web_dinamico">web2</a> . Puoi pensare a web2 come al web interattivo e sociale.</p><p>Nel mondo web2, non devi essere uno sviluppatore per partecipare al processo di creazione. Molte app sono costruite in modo da consentire facilmente a chiunque di essere un creatore.</p><p>Se vuoi esprimere un pensiero e condividerlo con il mondo, puoi farlo. Se vuoi caricare un video e consentire a milioni di persone di vederlo, interagire con esso e commentarlo, puoi fare anche questo.</p><p>Web2 è semplice, davvero, e grazie alla sua semplicità sempre più persone in tutto il mondo stanno diventando creatori.</p><p>Il web nella sua forma attuale è in molti modi davvero fantastico, ma ci sono alcune aree in cui lo si può migliorare.</p><h3 id="monetizzazione-e-sicurezza-nel-web-2-0"><strong><strong><strong>Monetizzazione e </strong>S<strong>icurezza</strong> nel <strong>Web 2.0 </strong></strong></strong></h3><p>Nel mondo web2, molte delle app popolari seguono uno schema comune nei loro cicli di vita. Pensa ad alcune delle app che utilizzi quotidianamente e a come i seguenti esempi potrebbero applicarsi a loro.</p><h4 id="monetizzazione-delle-app"><strong><strong><strong>Monetizzazione delle app</strong></strong></strong></h4><p>Immagina i primi giorni di applicazioni popolari come Instagram, Twitter, LinkedIn o YouTube e quanto siano oggi diverse. Il processo di solito va in questo modo:</p><ol><li>L'azienda lancia un'app</li><li>Raccoglie il maggior numero possibile di utenti</li><li>Quindi monetizza la sua base di utenti</li></ol><p>Quando uno sviluppatore o un'azienda lancia un'app popolare, l'esperienza dell'utente è spesso molto fluida quindi l'app continua a crescere in popolarità. Questo è il motivo per cui inizialmente sono in grado di guadagnare rapidamente consensi.</p><p>All'inizio, molte società di software non si preoccupano della monetizzazione. Si concentrano rigorosamente sulla crescita e sull'acquisizione di nuovi utenti, ma alla fine devono iniziare a realizzare un profitto.</p><p>Devono anche considerare il ruolo degli investitori esterni. Spesso i vincoli legati all'assunzione di cose come il capitale di rischio influiscono negativamente sul ciclo di vita, e infine sull'esperienza dell'utente, di molte applicazioni che oggi utilizziamo.</p><p>Se un'azienda che crea un'applicazione prende capitale di rischio, i suoi investitori spesso si aspettano un ritorno sull'investimento dell'ordine di decine o centinaia di volte quello che hanno pagato.</p><p>Ciò significa che, invece di perseguire un modello di crescita sostenibile che possa sostenerla in modo alquanto organico, l'azienda è spesso spinta verso due strade: pubblicità o vendita di dati personali.</p><p>Per molte aziende web2 come Google, Facebook, Twitter e altre, più dati portano a annunci più personalizzati. Ciò porta a più clic e, in definitiva, a maggiori entrate pubblicitarie. Lo sfruttamento e la centralizzazione dei dati degli utenti è fondamentale per il modo in cui il Web come lo conosciamo e lo utilizziamo oggi è progettato per funzionare.</p><h4 id="sicurezza-e-privacy"><strong><strong><strong>Sicurezza e privacy</strong></strong></strong></h4><p>Le applicazioni Web2 subiscono ripetutamente <a href="https://en.wikipedia.org/wiki/List_of_data_breaches">violazioni dei dati</a>. Esistono persino <a href="https://haveibeenpwned.com/">siti Web</a> dedicati a tenere il passo con queste violazioni e a dirti quando i tuoi dati sono stati compromessi.</p><p>Nel web2, non hai alcun controllo sui tuoi dati o su come vengono archiviati. In effetti, le aziende spesso tracciano e salvano i dati degli utenti senza il consenso degli utenti stessi. Tutti questi dati sono quindi posseduti e controllati dalle società incaricate di queste piattaforme.</p><p>Anche gli utenti che vivono in paesi in cui devono preoccuparsi delle conseguenze negative della libertà di parola sono a rischio.</p><p>I governi spesso chiudono i server o sequestrano conti bancari se ritengono che una persona stia esprimendo un'opinione contraria alla loro propaganda. Con i server centralizzati, è facile per i governi intervenire, controllare o chiudere le applicazioni come meglio credono.</p><p>Poiché anche le banche sono digitali e sotto il controllo centralizzato, i governi spesso intervengono anche lì. Possono bloccare l'accesso ai conti bancari o limitare l'accesso ai fondi durante i periodi di volatilità, inflazione estrema o anche disordini politici.</p><p>Web3 mira a risolvere molte di queste carenze ripensando fondamentalmente da zero al modo in cui progettiamo e interagiamo con le applicazioni.</p><h2 id="che-cos-il-web-3-0"><strong><strong><strong>Che cos'è il Web 3.0?</strong></strong></strong></h2><p>Ci sono alcune differenze fondamentali tra web2 e web3, ma il decentramento è al centro.</p><p>Web3 migliora Internet come lo conosciamo oggi con alcune altre caratteristiche aggiuntive. web3 è:</p><ul><li>Verificabile</li><li>Senza fiducia</li><li>Autogovernante</li><li>Senza autorizzazione</li><li>Distribuito e robusto</li><li>Stateful</li><li>Pagamenti integrati nativi</li></ul><p>Nel web3, gli sviluppatori di solito creano e distribuiscono applicazioni che non vengono eseguite su un unico server o che archiviano i propri dati in un unico database (di solito ospitato e gestito da un unico fornitore di servizi cloud).</p><p>Invece, le applicazioni web3 funzionano su blockchain, reti decentralizzate di molti nodi peer to peer (server) o una combinazione dei due che forma un <a href="https://thegraph.com/blog/modeling-cryptoeconomic-protocols-as-complex-systems-part-1">protocollo crittoeconomico</a> . Queste app sono spesso denominate dapp (app decentralizzate) e vedrai questo termine usato spesso nello spazio web3.</p><p>Per ottenere una rete decentralizzata stabile e sicura, i partecipanti alla rete (sviluppatori) sono incentivati ​​e competono per fornire servizi della massima qualità a chiunque utilizzi il servizio.</p><p>Quando senti parlare di web3, noterai che la criptovaluta è spesso parte del contesto. Questo perché la criptovaluta gioca un ruolo importante in molti di questi protocolli. Fornisce un incentivo finanziario (token) per chiunque voglia partecipare alla creazione, governo, contribuzione o miglioramento di uno dei progetti stessi.</p><p>Questi protocolli possono spesso offrire una varietà di servizi diversi come elaborazione, archiviazione, larghezza di banda, identità, hosting e altri servizi Web comunemente forniti in passato dai provider di servizi cloud.</p><p>Le persone possono guadagnarsi da vivere partecipando al protocollo in vari modi, sia a livello tecnico che non.</p><p>I consumatori del servizio di solito pagano per utilizzare il protocollo, in modo simile a come pagherebbero oggi un provider di servizi cloud come AWS. Tranne che nel web3, il denaro va direttamente ai partecipanti della rete.</p><p>In questo, come in molte forme di decentramento, vedrai che gli intermediari inutili e spesso inefficienti vengono eliminati.</p><p>Molti protocolli di infrastruttura web come <a href="https://filecoin.io/blog/filecoin-circulating-supply/">Filecoin</a> , <a href="https://livepeer.com/">Livepeer</a> , <a href="https://www.arweave.org/">Arweave</a> e <a href="https://thegraph.com/blog/the-graph-grt-token-economics">The Graph</a> (che è ciò con cui lavoro in Edge &amp; Node) hanno emesso token di utilità che regolano il funzionamento del protocollo. Questi token premiano anche i partecipanti a molti livelli della rete. Anche i protocolli blockchain nativi come <a href="https://ethereum.org/it/">Ethereum</a> funzionano in questo modo.</p><h3 id="pagamenti-nativi"><strong><strong><strong>Pagamenti nativi</strong></strong></strong></h3><p>I token introducono anche un livello di pagamento nativo che è completamente senza confini e con complessità ridotte. Aziende come Stripe e Paypal hanno creato miliardi di dollari di valore abilitando i pagamenti elettronici.</p><p>Questi sistemi sono eccessivamente complessi e ancora non consentono una vera interoperabilità internazionale tra i partecipanti. Richiedono inoltre che tu consegni le tue informazioni sensibili e i tuoi dati personali per poterli utilizzare.</p><p><a href="https://everest.link/category/0xc00f480db7754ce2e0f992a1080598e53fc511a0/">I portafogli</a> crittografici come <a href="https://metamask.io/">MetaMask</a> e <a href="https://toruswallet.io/">Torus</a> ti consentono di integrare facilmente nelle applicazioni web3 pagamenti e transazioni internazionali, anonimi e sicuri.</p><p>Reti come Solana offrono una latenza di diverse centinaia di millisecondi e costi di transazione di una piccola frazione di un centesimo. A differenza dell'attuale sistema finanziario, gli utenti non devono passare attraverso i tradizionali numerosi passaggi pieni di complessità per interagire e partecipare alla rete. Tutto ciò che devono fare è scaricare o installare un portafoglio e possono iniziare a inviare e ricevere pagamenti senza alcun controllo.</p><h3 id="un-nuovo-modo-di-costruire-imprese"><strong><strong><strong>Un nuovo modo di costruire imprese</strong></strong></strong></h3><p>I token portano anche l'idea della tokenizzazione e la realizzazione di <a href="https://www.oreilly.com/library/view/what-is-the/9781492072973/ch01.html">un'economia dei token</a> .</p><p>Prendi, ad esempio, la costruzione di una società di software al giorno d'oggi. Qualcuno ha un'idea, ma per iniziare a costruire ha bisogno di soldi per mantenersi.</p><p>Per ottenere i soldi, prendono investimenti e danno via una percentuale della società. Questo investimento introduce immediatamente incentivi disallineati che, a lungo termine, non si allineeranno bene con la creazione della migliore esperienza utente.</p><p>Inoltre, se l'azienda dovesse mai avere successo, le persone coinvolte impiegheranno molto tempo a realizzare il valore, portando spesso ad anni di lavoro senza alcun reale ritorno sull'investimento.</p><p>Immagina, invece, che venga annunciato un nuovo ed entusiasmante progetto che risolve un problema reale. Chiunque può partecipare dal primo giorno alla sua costruzione o investire su di esso. L'azienda annuncia il rilascio di un numero x di token e dà il 10% ai primi costruttori, mette il 10% in vendita al pubblico e mette da parte il resto per il futuro pagamento dei contributori e il finanziamento del progetto.</p><p>Le parti interessate possono utilizzare i loro token per votare sulle modifiche al futuro del progetto e le persone che hanno contribuito a costruire il progetto possono vendere alcune delle loro partecipazioni per fare soldi dopo che i token sono stati rilasciati.</p><p>Le persone che credono nel progetto possono acquistare e mantenere la proprietà, e le persone che pensano che il progetto stia andando nella direzione sbagliata possono segnalarlo vendendo la loro partecipazione.</p><p>Poiché i dati blockchain sono tutti completamente pubblici e aperti, gli acquirenti hanno la completa trasparenza su ciò che sta accadendo. Ciò è in contrasto con l'acquisto di azioni in aziende private o centralizzate in cui molte cose sono spesso nascoste.</p><p>Questo sta già accadendo nello spazio web3.</p><p>Un esempio è l'app <a href="https://radicle.xyz/blog/introducing-rad.html">Radicle</a> (un'alternativa decentralizzata a GitHub) che consente agli stakeholder di partecipare alla <a href="https://everest.link/category/0x46aff9a161267c2c01f5ce1b6e3b717a77f21480/">governance</a> del loro progetto. <a href="https://gitcoin.co/">Gitcoin</a> è un altro che consente agli sviluppatori di essere pagati in criptovaluta per entrare e lavorare su problemi Open Source. <a href="https://docs.yearn.finance/faq#governance">Yearn</a> consente alle parti interessate di partecipare al processo decisionale e al voto sulle proposte. <a href="https://uniswap.org/blog/uni/">Uniswap</a> , <a href="https://superrare.com/rare">SuperRare</a> , <a href="https://thegraph.com/blog/the-graph-grt-token-economics">The Graph</a> , <a href="https://audius.co/">Audius</a> e innumerevoli altri protocolli e progetti hanno emesso token come un modo per abilitare la proprietà, la partecipazione e la governance.</p><p><a href="https://linda.mirror.xyz/Vh8K4leCGEO06_qSGx-vS5lvgUqhqkCz9ut81WwCP2o">Le DAO</a> (organizzazioni autonome decentralizzate), che offrono un modo alternativo per costruire ciò che tradizionalmente consideravamo un'azienda, stanno guadagnando un enorme slancio e investimenti sia da parte degli sviluppatori tradizionali che delle società di capitale di rischio.</p><p>Questi tipi di organizzazioni sono tokenizzati e capovolgono l'idea di struttura organizzativa, offrendo una proprietà reale, liquida ed equa a porzioni più ampie di stakeholder e allineando gli incentivi in ​​modi nuovi e interessanti.</p><p>Ad esempio, <a href="https://www.fwb.help/">Friends with Benefits</a> è un DAO di costruttori e artisti web3, ha circa un anno, ha una capitalizzazione di mercato di circa $ 125 milioni al momento della stesura di questo articolo e ha recentemente ricevuto <a href="https://tittlepress.com/crypto/1146487/">un investimento di $ 10 milioni</a> da <a href="https://a16z.com/">a16z</a> .</p><p>I DAO potrebbero richiedere un intero post per sé, ma per ora dirò solo che penso che siano il futuro per la costruzione di prodotti e (come lo si pensava in passato) di aziende. <a href="https://coopahtroopa.mirror.xyz/_EDyn4cs9tDoOxNGZLfKL7JjLo5rGkkEfRa_a-6VEWw">Ecco un buon post</a> che delinea l'attuale panorama DAO.</p><h3 id="come-funziona-l-identit-in-web3"><strong><strong><strong>Come funziona l'identità in Web3</strong></strong></strong></h3><p>In web3, anche l'<a href="http://sinahab.com/identity-and-reputation-in-web-3/">Identity</a> funziona in modo molto diverso da quello a cui siamo abituati oggi. La maggior parte delle volte nelle app web3, le identità saranno legate all'indirizzo del portafoglio dell'utente che interagisce con l'applicazione.</p><p>A differenza dei metodi di autenticazione web2 come OAuth o email + password (che quasi sempre richiedono agli utenti di consegnare informazioni sensibili e personali), gli indirizzi del portafoglio sono completamente anonimi a meno che l'utente non decida di legarvi pubblicamente la propria identità.</p><p>Se l'utente sceglie di utilizzare lo stesso portafoglio su più dapp, la sua identità è anche trasferibile senza problemi tra le app, il che consente loro di costruire la propria reputazione nel tempo.</p><p>Protocolli e strumenti come <a href="https://ceramic.network/">Ceramic</a> e <a href="https://idx.xyz/">IDX</a> consentono già agli sviluppatori di creare identità self-sovereign nelle loro applicazioni per sostituire i tradizionali livelli di autenticazione e identità. La fondazione Ethereum ha anche <a href="https://notes.ethereum.org/@djrtwo/sign-in-with-ethereum-RFP">una RFP funzionante</a> per la definizione di una specifica per "Accedi con Ethereum" che aiuterebbe a fornire un modo più snello e documentato per far ciò in futuro. <a href="https://twitter.com/BrantlyMillegan/status/1402388133086367751">Questo</a> è anche un buona discussione che delinea alcuni dei modi in cui ciò migliorerebbe i flussi di autenticazione tradizionali.</p><h2 id="come-costruire-su-web3"><strong><strong><strong>Come costruire su Web3</strong></strong></strong></h2><p>Sono uno sviluppatore che è recentemente passato allo spazio web3 da un background di sviluppo tradizionale. Quindi volevo iniziare a costruire per avere un'idea di come fosse l'esperienza di sviluppo. E volevo capire i tipi di app che si possono creare oggi.</p><p>Mi sono tuffato subito e ho deciso di documentare alcune delle cose che stavo facendo in un paio di post sul blog.</p><p><a href="https://www.freecodecamp.org/news/breaking-into-ethereum-crypto-web3-as-a-developer/">Come entrare in Ethereum, Crypto e Web3 come sviluppatore</a> – Questa è un'introduzione in generale al tema, proveniente da uno sviluppatore, per gli sviluppatori che cercano di entrare nel settore.</p><p><a href="https://www.freecodecamp.org/news/full-stack-ethereum-development/">La guida completa allo sviluppo di Full Stack Ethereum</a> – Questo è un tutorial che ti insegna come costruire la tua prima dapp.</p><p><a href="https://dev.to/dabit3/the-complete-guide-to-full-stack-solana-development-with-react-anchor-rust-and-phantom-3291">La guida completa allo sviluppo di Solana full stack con React, Anchor, Rust e Phantom</a> - Questa guida si tuffa in Solana per mostrarti come costruire un dapp full stack.</p><p>Se sei interessato a saperne di più su web3 in generale, puoi dare un'occhiata a questi post:</p><p><a href="https://dev.to/dabit3/the-new-creator-economy-daos-community-ownership-and-cryptoeconomics-lnl">La nuova economia dei creatori: DAO, proprietà della comunità e criptoeconomia</a></p><p><a href="https://www.notboring.co/p/the-value-chain-of-the-open-metaverse">La catena del valore del metaverso aperto</a></p><p><a href="https://coopahtroopa.mirror.xyz/gWY6Kfebs9wHdfoZZswfiLTBVzfKiyFaIwNf2q8JpgI">L'ascesa delle microeconomie</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
