Sidan uppdaterades senast: December 4, 2020
Utvecklarresurser
Komma igång
Om du är ny på att utveckla med Ethereum, är du på rätt plats. Dessa guider skrivna av Ethereum-gemenskapen kommer att introducera dig till grunderna i Ethereum-stacken och introducera kärnkoncept som kan skilja sig från någon annan apputveckling du är bekant med.
Vill du börja koda på en gång? Börja här.
Behöver du en mer grundläggande introduktion först? Ta en titt på våra inlärningsresurser.
Hjälpsamma resurser
- Getting up to speed on Ethereum 7 aug., 2017 - Matt Condon
- Ethereum In Depth, Part 1 , 11 maj, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 24 juli, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 14 jan., 2018 - dev_zl
- Ethereum 101, Parts 1-7 13 feb., 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial 18 jan., 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online 1 dec., 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Uppdateras ofta - ConsenSys
- Deconstructing a Solidity Contract 13 aug., 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Uppdateras ofta - Joshua Cassidy
Smarta kontaktspråk
Alla program som körs på Ethereum Virtual Machine (EVM) benämns vanligtvis ett ”smart kontrakt”. De mest populära språken för att skriva smarta kontrakt på Ethereum är Solidity och Vyper, även om det finns andra under utveckling.
Solidity - Det populäraste språket för Ethereum, inspirerat av C ++, Python och Javascript.
Vyper - Säkerhetsfokuserat språk för Ethereum, baserat på Python.
Letar du efter andra alternativ?
Språkspecifikt material
Vi bygger en svit med språkspecifika sidor som utvecklare kan använda sig av för att lära sig om Ethereum i deras föredragna programmeringsspråk.
- Ethereum för Java-utvecklare
- Ethereum för Python-utvecklare
- Ethereum för JavaScript-utvecklare
- Ethereum för Go-utvecklare
- Ethereum för Rust-utvecklare
- Ethereum för .NET-utvecklare
- Det kommer mer snart! Ser du inte ditt språk här? Öppna ett ärende!
Utvecklarverktyg
Ethereum har ett stort och växande antal verktyg som hjälper utvecklare att bygga, testa och distribuera sina appar. Nedan finns de mest populära verktygen för att komma igång. Om du vill dyka djupare kan du ta en titt i den här omfattande listan.
Ramverk
Truffle - En utvecklingsmiljö, testramverk, bygger pipeline och andra verktyg.
Embark - En utvecklingsmiljö, testramverk och andra verktyg som är integrerade med Ethereum, IPFS och Whisper.
Waffle - Ett ramverk för utveckling och testning av avancerade smartkontrakt (baserat på ethers.js).
Etherlime - Ethers.js-baserat ramverk för dapp-utveckling (Solidity & Vyper), distribution, felsökning, testning med mera.
Andra verktyg
Hardhat - En uppgiftskörare för utvecklare av Ethereums smarta kontrakt.
OpenZeppelin SDK - De ultimata verktygen för smarta kontrakt: Ett antal verktyg som hjälper dig utveckla, kompilera, uppgradera, distribuera och interagera med smarta kontrakt.
The Graph - Ett protokoll för att indexera Ethereum- och IPFS-data och avfråga det med GraphQL.
Tenderly - En plattform för att enkelt övervaka din smarta kontrakt med felspårning, larm, prestandavärden och detaljerad kontraktsanalys.
Python Tooling - Ett antal bibliotek för Ethereum-interaktion via Python.
Brownie - Python-baserad utvecklingsmiljö och testramverk.
web3j - Ett Java/Android/Kotlin/Scala-integrationsbibliotek för Ethereum.
One Click Dapp - Generera en klientdel direkt från ABI för snabb utveckling och testning.
Letar du efter andra alternativ?
Integrerade utvecklingsmiljöer (IDEs)
Ethereum Studio - Webbaserad IDE som är idealisk för nya utvecklare som vill experimentera med smarta kontrakt. Ethereum Studio har flera mallar, MetaMask-integration, transaktionslogg och en inbyggd webbläsare, Ethereum Virtual Machine (EVM), som hjälper dig komma igång med att bygga på Ethereum så fort som möjligt.
Visual Studio Code - Professionell flerplattforms-IDE med officiell Ethereum-support.
- Visual Studio Code
- Azure Blockchain Development Kit för Ethereum
- Plugin för Azure Blockchain Workbench
- Kodexempel
- Github
Remix - Webbaserad IDE med inbyggd statisk analys och en virtuell maskin för testblockkedjor.
EthFiddle - Webbaserad IDE som låter dig skriva, kompilera och felsöka ditt smarta kontrakt.
Letar du efter andra alternativ?
Klientdels Javascript APIs
Web3.js - Ethereum JavaScript API.
Ethers.js - Fullständig Ethereum-plånboksimplementering och verktyg i JavaScript och TypeScript
light.js - Ett reaktivt JS-bibliotek på hög nivå optimerat för lätta kunder
Web3-wrapper - Typescript-alternativ till Web3.js.
Letar du efter andra alternativ?
Serverdel-API:er
Infura - Ethereum API som en service.
Cloudflare Ethereum Gateway.
Nodesmith - JSON-RPC API-tillgång till Ethereum huvudnät och testnät.
Chainstack - Delade och dedikerade Ethereum-noder som en service.
Lagring
IPFS - InterPlanetary File System är ett decentraliserat lagrings- och filreferenssystem för Ethereum.
Swarm - En distribuerad lagringsplattform och innehållsdistributionstjänst för Ethereum web3-stack.
OrbitDB - En decentraliserad peer-to-peer-databas ovanpå IPFS.
Säkerhetsverktyg
Säkerhet för smarta kontrakt
Slither - Statiskt analysramverk för Solidity, skrivet i Python 3.
MythX - Säkerhetsanalys-API för Ethereum smarta kontrakt.
Mythril - Säkerhetsanalysverktyg för EVM bytecode.
SmartContract.Codes - Sökmotor för verifierade källkoder för soliditet.
Manticore - Ett kommandoradsgränssnitt som använder ett symboliskt körningsverktyg på smarta kontrakt och binärfiler.
Securify - Säkerhetsskanner för Ethereum smarta kontrakt.
ERC20 Verifier - Ett verifieringsverktyg som används för att kontrollera om ett kontrakt uppfyller ERC20-standarden.
Formell verifiering
Information om formell verifiering
- How formal verification of smart-contacts works 20 juli, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts 29 jan., 2018 - Bernard Mueller
Letar du efter andra alternativ?
Testverktyg
Solidity-Coverage - Alternativt verktyg för kodtäckning av Solidity-kod.
hevm - Implementering av EVM som framtagits specifikt för enhetstester och felsökning av smarta kontrakt.
Whiteblock Genesis - En end-to-end-utvecklingssandlåda och testplattform för blockkedja.
Letar du efter andra alternativ?
Blockutforskare
Blockutforskare är tjänster som låter dig bläddra i Ethereum blockchain (och dess testnät), genom att hitta information om specifika transaktioner, block, kontrakt och annan aktivitet i kedjan.
Testnät och kranar
Ethereum-gemenskapen upprätthåller flera testnät. Dessa används av utvecklare för att testa sina program under olika förhållanden innan de implementeras på Ethereum-huvudnätet.
Ropsten - Proof of Work-blockchain, test-ether kan utvinnas.
Rinkeby - Proof of Authority-blockchain, underhållen av Geth utvecklingsteam.
Goerli - Flerklients Proof of Authority-blockchain, skapad och underhållen av Goerli-gemenskapen
Klienter och Kör din egen nod
Ethereum-nätverket består av många noder, som alla kör kompatibel klientprogramvara. Majoriteten av de här noderna kör Geth eller Parity, som var och en kan konfigureras på olika sätt beroende på dina behov.
Klienter
Geth - Ethereum-klienter skrivna i Go.
Parity - Ethereum-klient skriven i Rust.
Pantheon - Ethereum-klient skriven i Java.
Nethermind- Ethereum-klient skriven i C# .NET Core.
Kör din egen nod
Ethnode - Kör en Ethereum-nod (Geth eller Parity) för lokal utveckling.
Nodresurser för Ethereum
- Node Configuration Cheat Sheet 5 jan., 2019 - Afri Schoeden
Letar du efter andra alternativ?
Bästa praxis, mönster och anti-mönster
Smarta kontrakt
DappSys - Säkra, enkla, flexibla byggstenar för smarta kontrakt.
OpenZeppelin-kontrakt - Bibliotek för säker utveckling av smarta kontrakt.
aragonOS - Mönster för uppgraderings- och behörighetskontroll.
Svaghetsregister för smarta kontrakt
Säkerhet
Bästa säkerhetspraxis-guide för smarta kontrakt
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Aggregerad samling av säkerhetsrekommendationer och bästa praxis
Standard för säkerhetsverifikation av smarta kontrakt (SCSVS)
Letar du efter andra alternativ?
Utvecklarsupport och Utbildning
Allmänt lärande
Ethereum Stackexchange
ConsenSys Academy - En omfattande Ethereum utvecklarkurs som du gör i din egen takt, och som är öppen året runt.
Solidity Gitter Chatroom
Alla Ethereum Gitter-chattrum
Chainshot - Webbaserade handledningar för dappkodning.
Blocknördar - Onlinekurser om blockchain-teknik.
DappUniversity - Lär dig att bygga decentraliserade program på Ethereum-blockchain.
B9lab Academy - Hem för den äldsta professionella Ethereum dapp-utvecklarkursen och ytterligare lärande för granskare och QA. Inkl. mentorskap och kodgranskning.
Spelbaserat lärande
Cryptozombies - Lär dig att koda spel på ethereum.
Ethernaut - Solidity-baserat krigsspel där varje nivå är ett kontrakt som ska hackas.
Capture the Ether - Ethereum-spel om smart kontraktssäkerhet.
UI/UX design
- Challenge of UX in Ethereum 25 juni 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake 22 mars 2018 - Sarah Baker Mills
Rimble UI - Anpassningsbara komponenter och designstandarder för decentraliserade program.
Standarder
Ethereum-gemenskapen har antagit många standarder som är till hjälp för utvecklare. Vanligtvis introduceras de som Ethereum Improvement Proposals (EIPs), som diskuteras av gemenskapsmedlemmar genom en standardprocess.
- Lista över EIP: er
- EIP github repo
- EIP diskussionsforum
- Ethereum Governance Overview 31 mars 2019 - Boris Mann
- Spellista över alla Ethereum Core Dev-möten (YouTube Playlist)
Vissa EIPs avser standarder på tillämpningsnivå (t.ex. ett standardformat för smarta kontrakt), som införs som Ethereum Requests for Comment (ERC). Många ERC: er är kritiska standarder som används i stor utsträckning i Ethereums ekosystem.