Pagina a fost actualizată pe: September 3, 2020

Resurse pentru programatori

Noțiuni de bază

Dacă acum faci cunoștință cu programarea pe Ethereum, ești în locul potrivit. Aceste ghiduri scrise de comunitatea Ethereum îți vor prezenta bazele stivei Ethereum și concepte fundamentale care pot fi ușor diferite față de alte tipuri de programare cu care te-ai obișnuit.

Vrei să începi să programezi chiar acum? Începe să dezvolți aici.

Ai nevoie de o scurtă introducere? Accesează resursele de învățare.

Resurse utile

Limbaje pentru contracte smart

Orice program care rulează pe mașina virtuală Ethereum (EVM) este denumit „contract smart”. Cele mai populare limbaje pentru scrierea contractelor smart pe Ethereum sunt Solidity și Vyper, deși există și altele în curs de dezvoltare.

Solidity - Cel mai popular limbaj pe Ethereum, inspirat din C++, Python și JavaScript.

Vyper - Limbaj pentru Ethereum care pune accentul pe securitate, bazat pe Python.

Cauți alte opțiuni?

Resurse specifice pentru limbaje

Dezvoltăm o suită de pagini dedicate fiecărui limbaj, pentru a ajuta programatorii să învețe despre Ethereum în limbajul lor de programare preferat.

Instrumente de dezvoltare

Ethereum are o colecție amplă și din ce în ce mai bogată de instrumente care îi ajută pe programatori să dezvolte, să testeze și să implementeze aplicații. Mai jos prezentăm cele mai populare instrumente, ca să te ajutăm să începi. Dacă vrei să aprofundezi, accesează această listă curpinzătoare.

Instrumente framework

Truffle-***Un mediu de dezvoltare, framework de testare, flux de programare și alte instrumente.***

Embark-***Un mediu de dezvoltare, framework de testare și alte instrumente integrate cu Ethereum, IPFS și Whisper.

Waffle-***Un framework pentru dezvoltarea și testarea contractelor smart avansate (bazat pe ethers.js).***

Etherlime-***Framework pentru dezvoltarea, implementarea, depanarea și testarea de dapp, bazat pe Ethers.js (Solidity și Vyper).***

Alte instrumente

Ethereum Grid-***Aplicație desktop pentru descărcarea, configurarea și rularea clienților și instrumentelor Ethereum.***

Buidler - Un task runner pentru dezvoltatorii de contracte smart Ethereum.

OpenZeppelin SDK - Set complet de instrumente pentru contracte smart: o suită de instrumente care te ajută să dezvolți, să compilezi, să faci upgrade la, să implementezi și să interacționezi cu contracte smart.

The Graph - Un protocol pentru indexarea datelor Ethereum și IPFS și interogarea lor prin GraphQL.

Tenderly - Platformă pentru monitorizarea ușoară a contractelor smart. Include urmărirea erorilor, alerte, indicatori de performanță și analize detaliate ale contractelor.

Python Tooling - O varietate de biblioteci pentru interacțiuni Ethereum prin Python.

Brownie - ***Mediu de dezvoltare și testare bazat pe frameworkul Python.

web3j - O bibliotecă de integrări Java/ Android/ Kotlin/ Scala pentru Ethereum.

One Click Dapp - Generează un frontend direct din ABI pentru dezvoltări și testări rapide.

Cauți alte opțiuni?

Medii de dezvoltare integrate (IDE)

Ethereum Studio - IDE prin web, ideal pentru programatorii noi care vor să experimenteze cu contracte smart. Ethereum Studio are mai multe șabloane, integrare Metamask, jurnal de tranzacții și o mașină virtuală Ethereum (EVM) în browser, ca să poți începe cât mai repede să dezvolți pe Ethereum.

Visual Studio Code - Mediu de dezvoltare integrat profesionist, pentru mai multe platforme, susținut oficial de Ethereum.

Remix - Mediu de dezvoltare pe web, cu analize statice integrate și o mașină virtuală blockchain de test.

EthFiddle - Mediu de dezvoltare pe web care îți permite să scrii, să compilezi și să depanezi contracte smart.

Cauți alte opțiuni?

API-uri JavaScript frontend

Web3.js - API JavaScript Ethereum.

Ethers.js - Implementare completă de portofel Ethereum și utilitare, în JavaScript și TypeScript.

light.js - O bibliotecă JS de nivel înalt, optimizată pentru clienți ușori.

Web3-wrapper - Alternativă Typescript pentru Web3.js.

Cauți alte opțiuni?

API backend

Infura - API-ul Ethereum ca serviciu.

**Gateway Cloudflare pentru Ethereum.**

Nodesmith - Acces API JSON-RPC API la mainnetul și testneturile Ethereum.

Chainstack - Noduri Ethereum partajate și dedicate ca serviciu.

Stocare

IPFS - InterPlanetary File System este un sistem descentralizat de stocare și indexare a fișierelor pentru Ethereum.

Swarm - O platformă de stocare distribuită și un serviciu de distribuție a conținutului pentru stiva web 3 Ethereum.

OrbitDB - O bază de date descentralizată, peer-to-peer, dezvoltată pe IPFS.

Instrumente de securitate

Securitatea contractelor smart

Slither - Framework de analiză statică Solidity scris în Python 3.

MythX - API de analiză de securitate pentru contracte smart Ethereum.

Mythril - Instrument de analiză de securitate pentru bytecode EVM.

SmartContract.Codes - Motor de căutare pentru coduri sursă Solidity verificate.

Manticore - O interfață tip linie de comandă care utilizează un instrument de execuție simbolică pe contracte smart și binare.

Securify - Scanner de securitate pentru contracte smart Ethereum.

ERC20 Verifier - Un instrument de verificare folosit pentru a controla conformitatea unui contract cu standardul ERC20A.

Verificare formală

Informații despre verificarea formală

Cauți alte opțiuni?

Instrumente de testare

Solidity-Coverage - Instrument alternativ pentru acoperirea codului Solidity.

hevm - Implementare a EVM-ului realizată special pentru testarea unitară și depanarea contractelor smart.

Whiteblock Genesis - O platformă de testare integrală pentru dezvoltare și testare blockchain.

Cauți alte opțiuni?

Block Explorers

Block explorers sunt servicii care îți permit să explorezi blockchainul Ethereum (și testneturile sale), pentru a găsi informații despre anumite tranzacții, blocuri, contracte sau alte activități on-chain.

Testneturi și fauceturi

Comunitatea Ethereum întreține mai multe testneturi. Acestea sunt utilizate de programatori pentru testarea aplicațiilor în diferite condiții și scenarii, înainte de implementarea pe mainnetul Ethereum.

Ropsten - Blockchain de tip Proof of Work (POW), care permite operațiile de mining a Etherilor de test.

Rinkeby - Blockchain de tip Proof of Authority (POA), întreținut de echipa de dezvoltare Geth.

Goerli - Blockchain inter-client de tip Proof of Authority (POA), dezvoltat și întreținut de comunitatea Goerli.

Clienți și rularea propriul tău nod

Rețeaua Ethereum este compusă din numeroase noduri care rulează clienți software compatibili. Majoritatea acestor noduri rulează Geth sau Parity, ambele putând fi configurate în diverse moduri, în funcție de cerințe.

Clienți

Geth - Clienți Ethereum scriși în Go.

Parity - Client Ethereum scris în Rust.

Pantheon - Client Ethereum scris în Java.

Nethermind - Client Ethereum scris în C# .NET Core.

Rularea propriului tău nod

Ethnode - Rulează un nod Ethereum (Geth sau Parity) pentru dezvoltare locală.

Resurse de nod Ethereum

Cauți alte opțiuni?

Bune practici, modele și anti-modele

Contracte smart

DappSys - Componente sigure, simple și flexibile pentru dezvoltarea contractelor smart.

Contracte OpenZeppelin - Bibliotecă pentru dezvoltare contractelor smart securizate.

aragonOS - Modele pentru controlul versiunilor și a permisiunilor.

Registrul vulnerabilităților din contractele smart

Securitate

Ghid de bune practici în securitatea contractelor smart

Standard de verificare a securității contractelor smart (SCSVS)

Cauți alte opțiuni?

Suport și cursuri pentru programatori

Educație generală

Ethereum Stackexchange

ConsenSys Academy - ***Un curs complet de programare Ethereum, pe care îl poți parcurge în ritmul tău, disponibil tot anul.***

Chatroom Solidity Gitter

Toate chatroomurile Ethereum Gitter

Chainshot - Tutoriale online pentru programarea de dapp.

Blockgeeks - Cursuri online despre tehnologia blockchain.

DappUniversity - Învață să dezvolți aplicații descentralizate pe blockchainul Ethereum.

B9lab Academy - Cel mai vechi curs profesionist pentru dezvoltatori de aplicații dapp pe Ethereum și cursuri avansate pentru auditori și QA. Inclusiv mentorat și evaluarea codului.

Învățare prin jocuri

Cyptozombies - Învață să programezi jocuri pe Ethereum.

Ethernaut - Joc de război bazat pe Solidity, în care fiecare nivel este un contract smart ce trebuie spart.

Capture the Ether - Securitatea contractelor smart Ethereum.

Design UI/UX

Rimble UI - Componente adaptabile și standarde de design pentru aplicații descentralizate.

Standarde

Comunitatea Ethereum a adoptat numeroase standarde utile pentru programatori. În general acestea sunt introduse ca Propuneri de îmbunătățire Ethereum (EIP), și sunt discutate de membrii comunității într-un proces standard.

Anumite EIP se referă la standardele la nivel de aplicație (de exemplu, formatul standard al unui contract smart) și sunt introduse ca Cereri de opinie Ethereum (ERC). Multe ERC sunt standarde critice, cu utilizare largă în întregul ecosistem Ethereum.