Ultimo aggiornamento della pagina: mar 06, 2020
↳ Risorse per sviluppatori
↳ Per iniziare
Non hai mai sviluppato con Ethereum? Allora sei nel posto giusto. Queste guide scritte dalla community Ethereum (per ora, in inglese) ti presenteranno le basi dell'architettura Ethereum e i concetti chiave che potrebbero essere diversi da quelli che già conosci per lo sviluppo.
Hai prima bisogno di nozioni di base? Dai un'occhiata a ethereum.org/it/learn.
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Updated often - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Updated Often - Joshua Cassidy
↳ Linguaggi per gli Smart Contract
Ogni programma eseguito sulla Macchina Virtuale Ethereum (EVM) viene definito comunemente "Smart Contract". I linguaggi più diffusi per scrivere Smart Contract su Ethereum sono Solidity e Vyper, ma ne esistono anche altri in fase di sviluppo.
↳ Solidity Il linguaggio più diffuso su Ethereum, ispirato a C++, Python e Javascript
↳ Vyper Linguaggio incentrato sulla sicurezza per Ethereum, basato su Python
↳ Cerchi altre opzioni?
↳ Strumenti di sviluppo
Ethereum ha un numero elevato e sempre in aumento di strumenti per aiutare gli sviluppatori a creare, testare e distribuire le proprie applicazioni. Di seguito trovi gli strumenti più diffusi per iniziare. Se vuoi approfondire, guarda questo elenco esaustivo.
↳ Truffle Ambiente di sviluppo, framework di test, pipeline di sviluppo e altri strumenti
↳ Embark Ambiente di sviluppo, framework di test e altri strumenti integrati con Ethereum, IPFS e Whisper
↳ Waffle Framework per lo sviluppo e il test avanzato di Smart Contract (basato su ethers.js)
↳ Etherlime Framework basato su ethers.js per lo sviluppo (Solidity e Vyper), la distribuzione, il debug, il test di dapp e altro
↳ Buidler Task runner per sviluppatori di Smart Contract di Ethereum
↳ ZeppelinOS Framework di sviluppo per creare Smart Contract aggiornabili e gestire applicazioni basate su Smart Contract in modo sicuro
↳ Cerchi altre opzioni?
↳ Ambienti di sviluppo integrati (IDE)
↳ Visual Studio Code IDE professionale multi piattaforma con supporto ufficiale per Ethereum
↳ Remix IDE basato su web che integra analisi statica e una macchina virtuale blockchain di test
↳ Superblocks IDE basato su web con macchina virtuale blockchain integrata, integrazione con MetaMask, logger per transazioni e altre funzionalità
↳ EthFiddle IDE basato su web che permette di scrivere, compilare e rilasciare Smart Contract
↳ Cerchi altre opzioni?
↳ API Javascript per il frontend
↳ Web3.js API Javascript per Ethereum
↳ Ethers.js Implementazione di un portafoglio Ethereum completo e utility in JavaScript e TypeScript
↳ light.js Libreria Javascript reattiva di alto livello, ottimizzata per i client più leggeri
↳ Web3-wrapper Alternativa Typescript a Web3.js
↳ Cerchi altre opzioni?
↳ API per il backend
↳ Infura API as a service per Ethereum
↳ Strumenti per la sicurezza
↳ Slither Framework per l'analisi statica di codice Solidity scritto in Python 3
↳ MythX API per l'analisi della sicurezza di Smart Contract Ethereum
↳ Manticore Interfaccia a riga di comando che usa uno strumento di esecuzione simbolica su Smart Contract e file binari
↳ Securify Scanner di sicurezza per Smart Contract Ethereum
↳ Ulteriori informazioni sulla verifica formale
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
↳ Cerchi altre opzioni?
↳ Strumenti di test
↳ Solidity-Coverage Strumento di code coverage Solidity alternativo
↳ hevm Implementazione della EVM creata specificatamente per unit test e debug di Smart Contract
↳ Whiteblock Genesis Sandbox di sviluppo e piattaforma di test completa per blockchain
↳ Cerchi altre opzioni?
↳ Block Explorer
I Block Explorer sono servizi che permettono di esplorare la blockchain Ethereum (e le reti di test) per trovare informazioni su transazioni specifiche, blocchi, contratti e altre attività.
↳ Reti di test e faucet
La community Ethereum gestisce più reti di test. Sono utilizzate dagli sviluppatori per testare le applicazioni in diverse condizioni prima di distribuirle sulla rete Ethereum principale.
↳ Ropsten Blockchain proof-of-work (POW), è possibile eseguire il mining degli ether di test
↳ Rinkeby Blockchain Proof of Authority (PoA), gestita dal team di sviluppo di Geth
↳ Goerli Blockchain Proof of Authority (PoA) multi client, creata e gestita dalla community Goerli
↳ Client e uso di un nodo proprio
La rete Ethereum è composta da tanti nodi che eseguono software client compatibile. La maggior parte di questi nodi usa Geth o Parity, e in entrambi i casi è possibile modificare le configurazioni in base alle esigenze.
↳ Geth Client Ethereum scritto in Go
↳ Parity Client Ethereum scritto in Rust
↳ Ethnode Avvio di un nodo Ethereum (Geth o Parity) per lo sviluppo locale
↳ Risorse per i nodi Ethereum
- Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
↳ Cerchi altre opzioni?
↳ Buone pratiche, pattern e anti-pattern
↳ DappSys Blocchi di codice per Smart Contract sicuri, semplici e flessibili
↳ OpenZeppelin Libreria per sviluppo di Smart Contract sicuri
↳ aragonOS Pattern per aggiornabilità e controllo dei permessi
↳ Registro delle vulnerabilità degli Smart Contract
↳ Guida alle migliori pratiche per la sicurezza degli Smart Contract
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Raccolta di raccomandazioni di sicurezza e migliori pratiche
↳ Cerchi altre opzioni?
↳ Supporto e formazione per gli sviluppatori
↳ Ethereum Stackexchange
↳ Canale Gitter per Solidity
↳ Tutti i canali Gitter per Ethereum
↳ Cryptozombies Come programmare giochi su Ethereum
↳ Chainshot Tutorial basati sul web per la programmazione di dapp
↳ Blockgeeks Corsi online sulla tecnologia blockchain
↳ DappUniversity Come creare applicazioni decentralizzate sulla blockchain Ethereum
↳ Ethernaut Gioco di guerra basato su Solidity dove ogni livello è uno Smart Contract da hackerare
↳ UI/UX
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker Mills
↳ Standard
La community Ethereum ha adottato molti standard utili agli sviluppatori che in genere vengono presentati come proposte di miglioramento per Ethereum (EIP, Ethereum Improvement Proposals) e vengono discussi dai membri della community attraverso un processo standard.
- Lista delle EIP
- Repository GitHub delle EIP
- Forum di discussione per le EIP
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Playlist di tutte le riunioni degli sviluppatori del protocollo di base di Ethereum (Playlist YouTube)
Certe EIP si riferiscono a standard a livello di applicazione (ad esempio il formato standard degli Smart Contract), che vengono presentati come Richieste di commenti per Ethereum (ERC, Ethereum Requests for Comment). Molte ERC sono standard critici ampiamente usati nell'ecosistema di Ethereum.