Side sist oppdatert: December 4, 2020
Ressurser for utviklere
Kom i gang
Hvis du er ny til utvikling med Ethereum, er du på rett plass. Disse veiledningene skrevet av Ethereum-samfunnet vil introdusere deg til grunnleggende kunnskaper om Ethereums økosystem og introdusere kjernebegreper som kan være forskjellige fra andre app-utviklinger du er kjent til.
Vil du starte koding med en gang? Start bygging her.
Trenger du en mer grunnleggende informasjon først? Sjekk ut våre læringsressurser.
Nyttige ressurser
- 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 Feb 2019 - 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
Språk for smart-kontrakter
Alle program som kjører på Ethereum Virtual Machine (EVM) kalles vanligvis for "smart kontrakt". De mest populære programmeringsspråkene for å skrive smart-kontrakter på Ethereum er Solidity og Vyper, selv om det er flere under utvikling.
Solidity - Det mest populære språket på Ethereum, inspirert av C++, Python og Javascript.
Vyper - Sikkerhetsfokusert språk for Ethereum, basert på Python
Leter du etter andre alternativer?
Språkspesifike ressurser
Vi bygger en rekke språkspesifikke landingssider for at utviklere skal kunne lære om Ethereum på sine egne foretrukne programmeringsspråk.
- Ethereum for Java-utviklere
- Ethereum for Python-utviklere
- Ethereum for JavaScript-utviklere
- Ethereum for Go-utviklere
- Ethereum for Rust-utviklere
- Ethereum for .NET-utviklere
- Flere kommer snart! Ser du ikke språket ditt her? Åpne en sak!
Utviklerverktøy
Ethereum har et stort og økende antall verktøy som kan hjelpe utviklerne til å bygge, teste og ta i bruk applikasjonene sine. Nedenfor finner du de mest populære verktøyene for å komme i gang. Hvis du vil gå dypere, sjekk denne omfattende listen.
Rammeverk
Truffle - Et utviklingsmiljø, testing-rammeverk, kompileringskontroll og andre verktøy.
Embark - Et utviklingsmiljø, testing av rammeverk og andre verktøy integrert med Ethereum, IPFS og Whisper.
Waffle - Et rammeverk for avansert smart-kontraktsutvikling og testing (basert på ethers.js).
Etherlime - Ethers.js basert rammeverk for dapp-utvikling (Solidity & Vyper), utrulling, feilsøking, testing og mer.
Andre verktøy
Hardhat - En oppgave kjører for Ethereum smart-kontrakt utviklere.
OpenZeppelin SDK - Det ultimate smart kontrakt-verktøyet: En verktøypakke verktøy som hjelper deg å utvikle, kompilere, oppgradere, rulle ut og samhandle med smart kontrakter.
The Graph - En protokoll for indeksering av Ethereum- og IPFS-data og spørring av dem ved hjelp av GraphQL.
Tenderly - En plattform for enkelt å overvåke dine smarte kontrakter med feilsporing, varsling, prestasjonsmåltall og detaljert kontraktanalyse.
Python Tooling - En rekke biblioteker for Ethereum-interaksjon via Python.
Brownie - Python-basert utviklingsmiljø og testing av rammeverk
web3j - Et Java/Android/Kotlin/Scala-integrasjonsbibliotek for Ethereum.
One Click Dapp - Generer en frontende direkte fra ABI for rask utvikling og testing.
Ser du etter andre alternativer?
Integrerte utviklingsmiljøer (IDEs)
Ethereum Studio - Web-basert IDE- ideell for nye utviklere som ønsker å eksperimentere med smarte kontrakter. Ethereum Studio har flere designmaler, MetaMask integrering, transaksjonslogger, og en innebygget nettleser med Ethereum Virtual Machine (EVM) for å hjelpe deg å komme i gang med byggingen på Ethereum så fort som mulig.
Visual Studio Code - Profesjonell kryssplattform IDE med offisiell Ethereum støtte,
- Visual Studio Code
- Azure Blockchain Development Kit for Ethereum
- Azure Blockchain Workbench-plugin
- Kodeprøver
- GitHub
Remix - Web-basert IDE med innebygd statisk analyse, og en test blockchain virtuell maskin.
EthFiddle - Web-basert IDE som lar deg skrive, kompilere og debug din smarte kontrakt.
Leter du etter andre alternativer?
Frontend JavaScript-APIer
Web3.js - Ethereum JavaScript API.
Ethers.js - Komplett Ethereum wallet implementering og verktøyer i JavaScript og TypeScript.
light.js - Et high-level reaktivt JS-bibliotek optimalisert for light-klienter
Web3-wrapper - Typescript alternativ til Web3.js.
Leter du etter andre alternativer?
API-er for backend
Infura - Ethereum-API som en tjeneste.
Cloudflare Ethereum Gateway.
Nodesmith - JSON-RPC API-tilgang til Ethereum-mainnet og testnet.
Chainstack - Delte og dedikerte Ethereum-noder som en tjeneste.
Lagring
IPFS - InterPlanetary File System er et desentralisert lagrings- og filreferansesystem for Ethereum.
Swarm - En distribuert lagringsplattform og innholdsleveringstjeneste for Ethereum web3-stakk.
OrbitDB - En desentralisert peer-to-peer-database på toppen av IPFS.
Sikkerhetsverktøy
Smart kontrakt-sikkerhet
Slither - Rammeverk for statisk analyse av Solidity skrevet i Python 3.
MythX - Sikkerhetsanalyserings-API for smartkontrakter i Ethereum.
Mythril - Sikkerhetsanalyseverktøy for EVM bytecode.
SmartContract.Codes- Søkemotor for verifiserte Solidity kildekoder.
Manticore - Et "symbolic-execution" verktøy i kommandolinje for smartkontrakter og binærfiler.
Securify - Sikkerhetsskanner for Ethereum baserte smartkontrakter.
ERC20 Verifier - Et verifikasjonsverktøy som brukes til å sjekke om en kontrakt oppfyller ERC20-standarden.
Formell Verifikasjon
Informasjon om Formell Verifikasjon
- How formal verification of smart-contacts works 20 Juli, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts 29 Januar, 2018 - Bernard Mueller
Leter du etter andre alternativer?
Testverktøy
Solidity-Coverage - Alternativt verktøy for kodedekning i Solidity.
hevm - Implementering av EVM laget spesifikt for enhetstesting og feilsøking av smartkontrakter.
Whiteblock Genesis - En end-to-end utviklingsverktøy og testplattform for blokkjede.
Leter du etter andre alternativer?
Blokkjedeutforskere
Blokkjedeutforskere er tjenester som lar deg bla gjennom Ethereum-blokkjeden (og dens testnett), ved å finne informasjon om spesifikke transaksjoner, blokker, kontrakter og andre aktiviteter i kjeden.
Testnets og Faucets
Ethereum-samfunnet har flere testnett. Disse brukes av utviklere til å teste sine applikasjoner under ulike forhold før de rulles ut til Ethereum mainnet.
Ropsten - Proof-of-Work blokkjede, test-ether kan mines
Rinkeby - Bevis for autoritet blokkjede, vedlikeholdt av utviklingsteamet for Geth
Goerli - Kryss-klient Proof Authority blockchain, bygget og vedlikeholdt av Goerli-samfunnet
Klienter & kjøre din egen Node
Ethereum-nettverket er bygget opp av mange noder som kjører kompatibel klientprogramvare. Mesteparten av disse nodene kjører Geth eller Parity, hver av disse som kan konfigureres på ulike måter i henhold til dine behov.
Klienter
Geth - Ethereum klient skrevet i Go.
Parity - Ethereum klient skrevet i Rust.
Pantheon - Ethereum klient skrevet i Java.
Nethermind - Ethereum klient skrevet i C# .NET kjerne.
Kjøre din egen node
Ethnode - Kjør en Ethereum node (Geth eller Parity) for lokal utvikling.
Ethereum Node Resurser
- Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
Leter du etter andre alternativer?
Best Practices, Mønstre og Antimønster
Smarte Kontrakter
DappSys - Trykk, enkel, fleksible byggeklosser for smarte kontrakter.
OpenZeppelin Contracts - bibliotek for sikker smart kontraktutvikling.
aragonOS - Mønster for oppgradering & tillatelse kontroll.
Smart Kontrakt Svakhets Register
Sikkerhet
Smart Kontraktssikrings Veiledning for Best Practices
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Aggregert samling av sikkerhetsanbefalinger og best practices
Smart Kontraktssikkerhet, verifikasjonsstandard (SCSVS)
Leter du etter andre alternativer?
Utviklerstøtte og opplæring
Generell læring
Ethereum Stackexchange
ConsenSys Academy - Et ende-til-ende Ethereum-utviklerkurs som man kan ta i sitt tempo og som er åpent året rundt.
Solidity Gitter Chatroom
Alle Ethereum Gitter Chatroom
Chainshot - Webbaserte veiledninger i dapp-koding
Blockgeeks - Online-kurs innen blokkjedeknologi.
DappUniversity - Lær å bygge desentraliserte applikasjoner i Ethereum-blokkjeden.
B9lab Academy - Hjem til det eldste Ethereum dapp utvikler masterkurs& videre læring for revisorer og QA. Inkl. veiledning og kodegjennomgang.
Spillbasert læring
Cryptozombies - Lær å kode spill på ethereum.
Ethernaut - Solidity basert krigs spill hvor hvert nivå er en kontrakt som kan hackes.
Capture the Ether - Et pill om Ethereum smart kontrakt sikkerhet.
UI/UX design
- Utfordring for UX i Ethereum 25. juni 2018 - Anna Rose
- Desigering for blokkjede: hva som er forskjellig og hva som er på spill 22. mars 2018 - Sarah Baker Mills
Rimble UI - Adaptiv komponenter og designstandarder for desentraliserte applikasjoner.
Standarder
Ethereum-fellesskapet har adoptert mange standarder som er nyttige for utviklerne. Disse introduseres vanligvis som Ethereum Imvement Proposals (EIP), som diskuteres av medlemmer i samfunnet gjennom en standard prosess.
- Liste over EIP-er
- EIP github repo
- EIP diskusjons bord
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Spilleliste av alle Ethereum Core Dev-møter (YouTube-spilleliste)
Enkelte EIPer er knyttet til standarder på applikasjonsnivå (f.eks. et standard smart-kontraktsformat), som blir innført som Etterspør av kommentar (ERC). Mange ERC er kritiske standarder som brukes mye igjennom hele Ethereum-økosystemet.