Posledná aktualizácia stránky: mar 14, 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
Ethereum Grid - počítačová aplikácia na sťahovanie, konfiguráciu a spúšťanie klientov a nástrojov Etherea
Buidler - 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.