Sivu viimeksi päivitetty: September 3, 2020
Kehittäjäresurssit
Näin pääset alkuun
Jos olet uusi Ethereum-kehittäjä, olet oikeassa paikassa! Näillä Ethereumin yhteisön kirjoittamilla ohjeilla pääset tutustumaan Ethereumin pinoon ja pääkäsitteisiin, jotka saattavat olla erilaisia muusta tuntemastasi sovelluskehityksestä.
Haluatko aloittaa koodaamisen heti? Aloita rakentaminen täältä.
Tarvitsetko perusteellisempaa aloitusta? Katso oppimisresurssit.
Hyödyllisiä resursseja englanniksi
- 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 Päivitetään usein - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Päivitetään usein - Joshua Cassidy
Kielet älysopimuksille
Mitä tahansa ohjelmaa, joka suoritetaan Ethereum Virtual Machine (EVM) -ympäristössä, kutsutaan yleisesti "älysopimukseksi". Suosituimmat ohjelmointikielet Ethereumin älysopimuksille ovat Solidity ja Vyper. Lisäksi kehityksen alla on muita kieliä.
Solidity - Ethereumin suosituin ohjelmointikieli C++:n, Pythonin ja JavaScriptin inspiroimana.
Vyper - Ethereumin tietoturvaan keskittyvä ohjelmointikieli, joka perustuu Pythoniin.
Etsitkö muita vaihtoehtoja?
Kielikohtaiset resurssit
Rakennamme kielikohtaisia aloitussivuja kehittäjille opettamaan lisää Ethereumista useilla suosituilla ohjelmointikielillä.
- Ethereum Java-kehittäjille
- Ethereum Python-kehittäjille
- Ethereum JavaScript-kehittäjille
- Ethereum Go-kehittäjille
- Ethereum Rust-kehittäjille
- Ethereum .NET-kehittäjille
- Lisää tulossa pian! Etkö näe suosikkikieltäsi täällä? Avaa ongelma!
Kehitystyökalut
Ethereumilla on suuri ja kasvava määrä työkaluja, jotka auttavat kehittäjiä rakentamaan, testaamaan ja julkaisemaan sovelluksia. Alla on luettelo suosituimmista työkaluista, joilla pääset alkuun. Jos haluat sukeltaa aiheessa syvemmälle, katso tämä kattava lista.
Ohjelmistokehykset
Truffle - Kehitysympäristö, testauskehys, putkiliikenteen rakentaminen ja muita työkaluja.
Embark - Kehitysympäristö, testauskehys ja muita työkaluja integroituna Ethereumiin, IPFS:ään ja Whisperiin.
Waffle - Ohjelmistokehys edistyneelle älysopimuskehitykselle ja -testaukselle (pohjautuu ethers.js:ään).
Etherlime - Ethers.js:ään pohjautuva ohjelmistokehys dapp-kehitykselle (Solidity & Vyper), julkaisemiselle, debuggaukselle, testaukselle ja muihin tarkoituksiin.
Muut työkalut
Ethereum Grid - Työpöytäsovellus Ethereum-asiakasohjelmien ja -työkalujen lataamiseen, konfigurointiin ja ajamiseen.
Buidler - Tehtävänsuorittaja Ethereum-älysopimusten kehittäjille.
OpenZeppelin SDK - The Ultimate Smart Contract Toolkit: Kokoelma työkaluja, jotka helpottavat älysopimusten kehittämistä, kääntämistä, päivittämistä, julkaisemista ja käyttämistä.
The Graph - Protokolla Ethereumin ja IPFS-datan indeksöintiin ja tietokantakyselyihin käyttäen GraphQL:ää.
Tenderly - Alusta, jossa voit helposti monitoroida älysopimuksiasi virheen seurannalla, hälytyksillä, tehokkuusmittareilla ja yksityiskohtaisella sopimusanalyysillä.
Python-työkalut - Erinlaisia kirjastoja vuorovaikutukseen Ethereumilla Pythonin avulla.
Brownie - Python-pohjainen kehitysympäristö ja testauskehys.
web3j - Java/Android/Kotlin/Scala-integraatiokirjasto Ethereumille.
One Click Dapp - Luo frontend suoraan ABI:stä nopeaan kehitykseen ja testaukseen.
Etsitkö muita vaihtoehtoja?
Ohjelmointiympäristöt (IDE)
Ethereum Studio - Web-pohjainen IDE, ideaalinen uusille kehittäjille, jotka haluavat kokeilla älysopimuksia. Ethereum Studio sisältää useita malleja, MetaMask-integraation, liiketapahtumien kirjauksen ja sisäänrakennetun selaimen Ethereum Virtual Machine (EVM) -ympäristön, jotka auttavat pääsemään alkuun mahdollisimman nopeasti Ethereumilla rakentamisessa.
Visual Studio Code - Ammattitason alustariippumaton IDE, Ethereumin virallisella tuella.
- Visual Studio Code
- Azure Blockchain Development Kit, Ethereumille
- Azure Blockchain Workbench plugin
- Koodiesimerkit
- GitHub
Remix - Web-pohjainen IDE sisäänrakennetulla staattisella analyysillä ja testilohkoketjussa toimivalla virtuaalikoneella.
EthFiddle - Web-pohjainen IDE, joka mahdollistaa älysopimuksen kirjoittamisen, kääntämisen ja debuggauksen.
Etsitkö muita vaihtoehtoja?
Frontend JavaScript API
Web3.js - Ethereum JavaScript API.
Ethers.js - Kokonainen Ethereum-lompakkototeutus ja työkalut JavaScriptillä ja TypeScriptillä.
light.js - Korkean tason reaktiivinen JS-kirjasto, joka on optimoitu kevyille asiakasohjelmille.
Web3-wrapper - Typescript vaihtoehto Web3.js:lle.
Etsitkö muita vaihtoehtoja?
Backend API
Infura - Ethereum API palveluna
Cloudflaren Ethereum-yhdyskäytävä.
Nodesmith - JSON-RPC API-pääsy Ethereumin pää- ja testiverkkoihin.
Chainstack - Jaetut ja dedikoidut Ethereum-solmut palveluina.
Tallennustila
IPFS - InterPlanetary File System on hajautettu varasto- ja tiedostoviittauksiin käytettävä järjestelmä Ethereumissa.
Swarm - Hajautettu varastojärjestelmä ja sisällönjakelupalvelu Ethereumin web3 stackille.
OrbitDB - Hajautettu vertaisverkon tietokanta IPFS:n päällä.
Turvallisuustyökalut
Älysopimusten turvallisuus
Slither - Solidityn staattinen analyysikehys, kirjoitettu Python 3:lla.
MythX - Tietoturva-analyysi API Ethereumin älysopimuksille.
Mythril - Tietoturva-analyysityökalu EVM-tavukoodille.
SmartContract.Codes - Hakukone vahvistetuille solidity-lähdekoodeille.
Manticore - Komentoliittymä, joka käyttää symbolista suoritustyökalua älysopimuksissa ja binäärijärjestelmissä.
Securify - Turvallisuustutkain Ethereumin älysopimuksille.
ERC20 Verifier - Vahvistustyökalu, jolla varmistetaan, että sopimus kääntyy ERC20-standardin mukaisesti.
Muodollinen vahvistus
Tietoa muodollisesta vahvistuksesta englanniksi
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
Etsitkö muita vaihtoehtoja?
Testaustyökalut
Solidity-Coverage - Vaihtoehtoinen Solidity-koodin kattavuustyökalu.
hevm - Toteutus EVM:stä, tarkoitettu erityisesti älysopimusten yksikkötestaukseen ja debuggaukseen.
Whiteblock Genesis - End-to-end sandbox-kehitysympäristö ja testausalusta lohkoketjuille.
Etsitkö muita vaihtoehtoja?
Lohkoselaimet
Lohkoselaimet ovat palveluita, joilla voi selata Ethereumin lohkoketjua (ja sen testiverkkoja) etsimällä informaatiota tietyistä liiketapahtumista, lohkoista, sopimuksista ja muista ketjunsisäisistä tapahtumista.
Testiverkot ja faucetit
Ethereumin yhteisö ylläpitää useita testiverkkoja. Nämä on tarkoitettu kehittäjille sovellusten testaamiseen eri olosuhteissa ennen Ethereumin pääverkkoon lähettämistä.
Ropsten - Proof of Work -lohkoketju, louhittavissa testi-etheriä.
Rinkeby - Proof of Authority -lohkoketju, Gethin kehitystiimin ylläpitämä.
Goerli - Asiakasohjelmariippumaton Proof of Authority -lohkoverkko, Goerli-yhteisön rakentama ja ylläpitämä
Asiakasohjelmat ja oman solmun ajaminen
Ethereumin tietoverkko on rakennettu useista solmuista, joissa suoritetaan niille sopivia asiakasohjelmistoja. Useimmissa solmuissa ajetaan Gethiä tai Parityä, joista kumpikin voidaan konfiguroida eri tavoilla tarpeen mukaan.
Asiakasohjelmat
Geth - Ethereum-asiakasohjelma, kirjoitettu Golla.
Parity - Ethereum-asiakasohjelma, kirjoitettu Rustilla.
Pantheon - Ethereum-asiakasohjelma, kirjoitettu Javalla.
Nethermind - Ethereum-asiakasohjelma, kirjoitettu C# .NET Corella.
Oman solmun ajaminen
Ethnode - Ethereum-solmun ajaminen (Geth tai Parity) paikallista kehitystä varten.
Ethereum-solmujen resurssit
- Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
Etsitkö muita vaihtoehtoja?
Parhaat käytännöt, suunnittelumallit ja antisuunnittelumallit
Älysopimukset
DappSys - Turvallista, yksinkertaista, joustavaa lohkojen rakentamista älysopimuksille.
OpenZeppelin Contracts - Kirjasto turvallisille älysopimuksille.
aragonOS - Suunnittelumallit päivitettävyydelle ja käyttöoikeuksien hallinnalle.
Smart Contract Weakness Registry
Turvallisuus
Parhaat käytännöt älysopimusten turvallisuudelle
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Kokoelma turvallisuussuosituksista ja parhaista käytännöistä
Smart Contract Security Verification Standard (SCSVS)
Etsitkö muita vaihtoehtoja?
Tuki ja koulutukset kehittäjille
Yleinen oppiminen
Ethereum Stackexchange
ConsenSys Academy - End-to-end-kurssi Ethereum-kehittäjille, jonka voi suorittaa omalla tahdilla ja on avoin ympäri vuoden.
Solidity Gitter chat-huone
Kaikki Ethereum Gitter chat-huoneet
Chainshot - Web-pohjaiset dapp-koodausoppaat.
Blockgeeks - Verkkokursseja lohkoketjuteknologiasta.
DappUniversity - Opi rakentamaan hajautettuja sovelluksia Ethereumin lohkoketjuun.
B9lab Academy - Vanhin ammattitason Ethereum dapp-kehittäjäkurssi sekä syvempää oppimista auditoijille ja laadunvarmistajille. Sis. mentoroinnin ja koodin katselmoinnin.
Pelipohjaista oppimista
Cryptozombies - Opi koodaamaan pelejä Ethereumilla.
Ethernaut - Solidity-pohjainen sotapeli, jossa jokainen taso on hakkeroitava sopimus.
Capture the Ether - Peli Ethereumin älysopimusten turvallisuudesta.
UI/UX-suunnittelu
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker Mills
Rimble UI - Muokattavia komponentteja ja suunnittelustandardeja hajautetuille sovelluksille.
Standardit
Ethereum-yhteisö on ottanut käyttöön useita standardeja, jotka ovat hyödyllisiä kehittäjille. Tyypillisesti nämä esitetään nimellä Ethereum Improvement Proposals (EIPs), joista käydään keskuteluja yhteisön jäsenien kesken standardiprosessin avulla.
- EIP-lista
- EIP github -tietovarasto
- EIP-keskustelupalsta
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Playlist of all Ethereum Core Dev Meetings (YouTube -soittolista)
Tietyt EIP:t vastaavat sovellustason standardeja (esim. standardi älysopimusformaatti), jotka esitetään nimellä Ethereum Requests for Comment (ERC). Monet ERC:t ovat kriittisiä standardeja, joita käytetään yleisesti Ethereum-ekosysteemissä.