Posledná aktualizácia stránky: December 4, 2020
Zdroje informácií pre vývojárov
Začíname
Ak ste v programovaní na Ethereu úplným nováčikom, ste na správnom mieste. V týchto návodoch, napísaných členmi komunity Etherea, sa zoznámite so základmi programovania na Ethereu a rozdielmi v porovnaní s programovaním klasických aplikácií.
Chcete začať programovať ihneď? Tak sa do toho pustite tu.
Potrebujete ďalšie základné informácie o Ethereu? Pozrite si naše vzdelávacie zdroje.
Užitočné zdroje informácií
- 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
Programovacie jazyky na vývoj smart kontraktov
Každý program, ktorý beží na virtuálnom počítači Etherea (EVM), sa označuje ako „smart kontrakt“. Najobľúbenejšími jazykmi na vývoj smart kontraktov pre Ethereum sú Solidity a Vyper, no vo vývoji sú aj ďalšie.
Solidity - najobľúbenejší programovací jazyk na Ethereu, inšpirovaný jazykmi C ++, Python a JavaScript.
Vyper - programovací jazyk pre Ethereum so zameraním na bezpečnosť založený na jazyku Python
Hľadáte ďalšie možnosti?
Zdroje informácií pre rôzne jazyky
Vytvárame súbor vstupných stránok pre konkrétne jazyky, aby mali vývojári možnosť dozvedieť viac o Ethereu vo svojom preferovanom programovacom jazyku.
- Ethereum pre vývojárov v jazyku Java
- Ethereum pre vývojárov v jazyku Python
- Ethereum pre vývojárov v jazyku JavaScript
- Ethereum pre vývojárov v jazyku Go
- Ethereum pre vývojárov v jazyku Rust
- Ethereum pre vývojárov v jazyku .NET
- Viac čoskoro! Nevidíte tu svoj jazyk? Vytvorte pripomienku!
Nástroje pre vývojárov
Ethereum ponúka čoraz viac nástrojov, ktoré vývojárom pomáhajú vytvárať, testovať a spúšťať aplikácie. Nižšie sú uvedené najobľúbenejšie nástroje, ktoré vám pomôžu začať. Ak sa chcete dozvedieť viac, pozrite si tento podrobný zoznam.
Architektúry
Truffle - vývojové prostredie, testovacia architektúra, kanál zostáv a ďalšie nástroje
Embark - vývojové prostredie, testovacia architektúra a ďalšie nástroje integrované s Ethereom, IPFS a protokolom Whisper
Waffle - pokročilá architektúra na vývoj a testovanie smart kontraktov (založená na ethers.js)
Etherlime - rozhranie založené na ethers.js na vývoj dappiek (v jazykoch Solidity a Vyper) a ich nasadenie, ladenie, testovanie a ďalšie činnosti
Ďalšie nástroje
Hardhat - spúšťanie úloh pre vývojárov smart kontraktov na Ethereu
OpenZeppelin SDK - špičkové nástroje na vývoj smart kontraktov: súprava nástrojov, ktorá vám pomôže pri vývoji, kompilácii, inovácii a nasadení smart kontraktov a interakcii s nimi
The Graph - protokol na indexovanie údajov Etherea a IPFS a ich vyhľadávanie cez GraphQL
Tenderly - platforma na jednoduché monitorovanie smart kontraktov so sledovaním chýb, výstrahami, meraním výkonnostných metrík a podrobnými analýzami kontraktov
Python Tooling - rôzne knižnice na interakciu s Ethereom prostredníctvom Pythonu
Brownie - vývojové prostredie a testovacia infraštruktúra založená na Pythone
web3j - integračná knižnica Java / Android/ Kotlin / Scala pre Ethereum
One Click Dapp - vytváranie používateľského rozhrania priamo z ABI pre rýchly vývoj a testovanie
Hľadáte ďalšie možnosti?
Integrované vývojové prostredia (IDE)
Ethereum Studio - Webové IDE, ktoré je ideálne pre nových vývojárov, ktorí chcú experimentovať so smart kontraktmi. Ethereum Studio obsahuje viacero šablón, integráciu MetaMask, zaznamenávanie transakcií a zabudovaný virtuálny počítač Ethereum (EVM), ktorý sa spúšťa v prehliadači, a pomôže vám takmer okamžite začať programovať na Ethereu.
Visual Studio Code - profesionálne multiplatformové IDE s oficiálnou podporou projektu Ethereum
- Visual Studio Code
- Azure Blockchain Development Kit pre Ethereum
- Azure Blockchain Workbench plugin
- Vzorové kódy
- GitHub
Remix - webové IDE s integrovanou statickou analýzou a testovacím virtuálnym počítačom pre blockchain
EthFiddle - webové IDE, ktoré vám pomôže naprogramovať, skompilovať a ladiť váš smart kontrakt
Hľadáte ďalšie možnosti?
Rozhrania JavaScript API pre frontend
Web3.js - rozhranie JavaScript API Etherea
Ethers.js - kompletná implementácia peňaženky Ethereum a pomôcky vytvorené v jazykoch JavaScript a TypeScript
light.js - knižnica Reactive JS vysokej úrovne optimalizovaná pre ľahkých klientov
Web3-wrapper - alternatíva k Web3.js v jazyku TypeScript
Hľadáte ďalšie možnosti?
Rozhrania API pre backend
Infura - rozhranie Ethereum API ako služba
Cloudflare Ethereum Gateway
Nodesmith - prístup k hlavným a testovacím sieťam Etherea cez JSON-RPC API
Chainstack - zdieľané a vyhradené uzly Etherea ako služba
Úložisko
IPFS - InterPlanetary File System je decentralizovaný systém ukladania a prepájania súborov pre Ethereum
Swarm - platforma distribuovaného úložiska a distribučná služba obsahu pre web3 stack Etherea
OrbitDB - decentralizovaná P2P databáza postavená na súborovom systéme IPFS
Bezpečnostné nástroje
Bezpečnosť smart kontraktov
Slither - rozhranie statickej analýzy pre Solidity napísané v jazyku Python 3
MythX - API pre bezpečnostné analýzy smart kontraktov na Ethereu
Mythril - nástroj bezpečnostnej analýzy pre bytecode EVM
SmartContract.Codes - vyhľadávač overených zdrojových kódov v jazyku Solidity
Manticore - rozhranie príkazového riadka, ktoré využíva nástroj symbolického vykonávania smart kontraktov a binárnych súborov
Securify - kontrola zabezpečenia smart kontraktov na Ethereu
ERC20 Verifier - verifikačný nástroj na kontrolu súladu kontraktu so štandardom ERC20
Formálna verifikácia
Informácie o formálnej verifikácii
- How formal verification of smart-contacts works 20. júla 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts 29. januára 2018 - Bernard Mueller
Hľadáte ďalšie možnosti?
Testovacie nástroje
Solidity-Coverage - alternatívny nástroj na testovanie pokrytia kódu v jazyku Solidity
hevm - implementácia EVM vytvorená špeciálne pre testovanie častí a ladenie smart kontraktov
Whiteblock Genesis - komplexný vývojový sandbox a testovacia platforma pre blockchain
Hľadáte ďalšie možnosti?
Blockchainové prehľadávače
Blockchainové prehľadávače sú služby, ktoré umožňujú preskúmať blockchain Etherea (a jeho testovacie siete) vyhľadávaním informácií o konkrétnych transakciách, blokoch, kontraktoch a iných aktivitách v rámci reťazca.
Testovacie siete a faucety
Komunita Etherea spravuje viacero testovacích sietí. Vývojárom umožňujú testovať aplikácie za rôznych podmienok ešte pred ich nasadením do hlavnej siete Etherea.
Ropsten - Proof of Work blockchain, v ktorom môžete ťažiť testovací ether
Rinkeby - Proof of Authority blockchain spravovaný vývojovým tímom Geth
Goerli - Proof of Authority blockchain pre rôzne klienty vytvorený a spravovaný komunitou Goerli
Klienty a prevádzkovanie vlastného uzla
Sieť Etherea pozostáva z mnohých uzlov, ktoré prevádzkujú kompatibilný klientsky softvér. Väčšina týchto uzlov beží na Geth alebo Parity, z ktorých každý môže byť nakonfigurovaný rôznymi spôsobmi podľa vašich potrieb.
Klienty
Geth - klient Etherea napísaný v jazyku Go
Parity - klient Etherea napísaný v jazyku Rust
Pantheon - klient Etherea napísaní v jazyku Java
Nethermind - klient Etherea napísaní v jazyku C# .NET Core
Prevádzkovanie vlastného uzla
Ethnode - umožňuje prevádzkovať uzol Etherea (Geth alebo Parity) pre lokálny vývoj kódu
Ďalšie informácie o uzloch
- Node Configuration Cheat Sheet 5. januára 2019 - Afri Schoeden
Hľadáte ďalšie možnosti?
Osvedčené postupy, vzory a čo nerobiť
Smart kontrakty
DappSys - bezpečné, jednoduché a flexibilné stavebné bloky pre smart kontrakty
OpenZeppelin Contracts - knižnica pre bezpečný vývoj smart kontraktov
aragonOS - vzory pre inovácie a správu povolení
Register slabých stránok smart kontraktov
Zabezpečenie
Príručka s osvedčenými postupmi pre bezpečnosť smart kontraktov
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Súhrnný zoznam bezpečnostných odporúčaní a osvedčených postupov
Smart Contract Security Verification Standard (SCSVS)
Hľadáte ďalšie možnosti?
Podpora a vzdelávanie vývojárov
Všeobecné vzdelávanie
Ethereum Stackexchange
ConsenSys Academy - komplexný kurz pre vývojárov na Ethereu, ktorý je otvorený po celý rok a každému umožňuje napredovať vlastným tempom
Chatovacia miestnosť Solidity na Gitteri
Všetky chatové miestnosti o Ethereu na Gitteri
Chainshot - webové kurzy programovania dappiek
Blockgeeks - online kurzy o technológii blockchain
DappUniversity - naučte sa vytvárať decentralizované aplikácie na blockchaine Etherea
B9lab Academy - domov najstarších profesionálnych kurzov pre vývojárov dappiek na Ethereu a ďalšie vzdelávanie pre audítorov a kontrolórov kvality vrátane mentoringu a kontrolu kódu.
Učenie založené na hrách
Cryptozombies - naučte sa kódovať hry na Ethereu
Ethernaut - bojová hra naprogramovaná v jazyku Solidity, v ktorej každá úroveň predstavuje kontrakt, ktorý je potrebné hacknúť
Capture the Ether - hra zameraná na zabezpečenie smart kontraktov na Ethereu
Dizajn UI/UX
- Challenge of UX in Ethereum 25. júna 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake 22. marca 2018 - Sarah Baker Mills
Rimble UI - prispôsobiteľné komponenty a štandardy dizajnu pre decentralizované aplikácie
Štandardy
Komunita Etherea prijala mnoho štandardov, ktoré sú užitočné pre vývojárov. Zvyčajne sa uvádzajú ako návrhy na zlepšenie Etherea (alebo aj EIP) a členovia komunity o nich diskutujú podľa štandardného procesu.
- Zoznam EIP
- Repozitár EIP v Githube
- Diskusie o EIP
- Ethereum Governance Overview 31. marca 2019 - Boris Mann
- Záznam všetkých stretnutí hlavných vývojárov Etherea (zoznam videí na YouTube)
Niektoré EIP sa týkajú štandardov na úrovni aplikácií (napr. štandardný formát smart kontraktov) a sú vedené ako žiadosti o pripomienkovanie Etherea (ERC). Mnohé ERC predstavujú kľúčové štandardy a majú široké využitie v ekosystéme Etherea.