Halaman terakhir kali diupdate: Mar 06, 2020
↳ Sumber daya untuk Developer
↳ Memulai
** Jika Anda baru dalam pengembangan di Ethereum, kamu berada di tempat yang tepat.** Panduan-panduan yang ditulis oleh komunitas Ethereum ini akan memperkenalkan kamu pada dasar-dasar tingkatan Ethereum dan konsep inti yang mungkin berbeda dari pengembangan aplikasi lain yang kamu kenal.
Ingin langsung memulai coding? Kamu bisa terjun langsung disini.
Perlu penjelasan yang lebih mendasar? Kunjungi halaman sumber belajar kami.
Sumber informasi yang dapat membantu
- Getting up to speed on Ethereum 7 Agustus, 2017 - Matt Condon
- Ethereum in Depth, Part 1 11 Mei, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 24 Juli, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 14 Januari, 2018 - dev_zl
- Ethereum 101, Parts 1-7 13 Februari, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial 18 Januari, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online 1 Desember, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum _ Sering diupdate - ConsenSys _
- Deconstructing a Solidity Contract _ 13 Agustus 2018 - Alejandro Santander & Leo Arias _
- Full Stack Dapp Tutorial Series _Sering diupdate - Joshua Cassidy _
↳ Bahasa Smart Contract (Kontrak Pintar)
Program apapun yang berjalan di Ethereum Virtual Machine (EVM) dikenal sebagai "smart contract" (kontrak pintar). Bahasa pemrograman yang paling populer untuk menulis smart contract di Ethereum adalah Solidity and Vyper, walaupun masih ada yang sedang berada dalam proses development.
Solidity - Bahasa paling populer di Ethereum, terinspirasi oleh C ++, Python, dan Javascript.
Vyper - Bahasa yang fokus pada keamanan untuk Ethereum, berdasarkan pada Python.
Mencari opsi yang lain?
↳ Sumber daya sesuai bahasa pemrograman
Kami sedang membuat halaman spesifik untuk developer yang ingin belajar tentang Ethereum dengan bahasa pemrograman pilihan masing-masing.
- Ethereum untuk developer Java
- Ethereum untuk developer Python
- Ethereum untuk developer JavaScript
- Ethereum untuk developer Go
- Ethereum untuk developer Rust
- Ethereum untuk developer .NET
- Dan masih banyak lagi yang akan hadir! Tidak melihat bahasa pemrograman-mu disini? Kirim saranmu disini!
↳ Perangkat Developer
Ethereum punya banyak perangkat yang jumlahnya terus bertambah yang dapat digunakan oleh developer untuk membuat, menguji, dan meluncurkan aplikasi. Dibawah ini adalah beberapa perangkat paling populer yang bisa kamu gunakan. Kalau kalian ingin belajar secara lebih mendalam, silahkan cek daftar lengkap berikut ini.
↳ Framework
Truffle - Lingkungan pengembangan, framework pengujian, pipeline pengembangan, dan peralatan lainnya.
Embark - Lingkungan pengembangan, framework pengujian, dan peralatan lainnya yang terintegrasi dengan Ethereum, IPFS, dan Whisper.
Waffle - Framework untuk pengembangan dan pengujian smart kontrak tingkat lanjut (berdasarkan pada ethers.js).
Etherlime - Framework untuk pengembangan(Solidity & Vyper), peluncuran, debugging, dan testing dapp (berdasarkan pada ethers.js).
↳ Peralatan Lainnya
Ethereum Grid - Aplikasi dekstop untuk mengunduh, mengubah pengaturan, dan menjalankan client Ethereum.
Buidler - Pelaksana tugas untuk developer smart contract di Ethereum.
OpenZeppelin SDK - Toolkit Smart Contract Paling Lengkap: Sebuah set perangkat untuk membantumu dalam proses pengembangan, compile, upgrade, peluncuran dan interaksi dengan smart contracts.
The Graph - Sebuah protokol untuk menyusun data Ethereum dan IPFS, serta melakukan query dengan menggunakan GraphQL.
Tenderly - Sebuah platform untuk memonitor smart contracts dengan fitur pelacakan kesalahan, alerting, metrik kinerja, dan analitik kontrak yang detail.
Python Tooling - Berbagai macam library Python untuk berinteraksi dengan Ethereum.
Brownie - Lingkungan pengembangan dan framework pengujian berbasis pada Python.
web3j - Library untuk integrasi Java/Android/Kotlin/Scala dengan Ethereum.
One Click Dapp - Buat frontend langsung dari ABI untuk proses pengembangan dan pengujian yang cepat.
Mencari opsi yang lain?
↳ Integrated Development Environment (IDE)
Ethereum Studio - IDE berbasis web yang ideal untuk developer baru yang ingin bereksperimen dengan smart contracts. Ethereum Studio mempunyai beberapa template, termasuk integrasi Metamask, transaction logger, dan browser Ethereum Virtual Machine (EVM) bawaan yang akan membantu kamu untuk memulai pengembangan di Ethereum dalam waktu singkat.
Visual Studio Code - IDE cross-platform profesional dengan dukungan Ethereum resmi.
- Visual Studio Code
- Development Kit dari Azure Blockchain untuk Ethereum
- Plugin Azure Blockchain Workbench
- Contoh kode
- GitHub
Remix - IDE berbasis web yang dilengkapi dengan analisis ststis, dan sebuah blockchain virtual machine bawaan.
EthFiddle - IDE berbasis web dimana kamu bisa menulis, compile, dan debug smart contract milikmu.
Mencari opsi yang lain?
↳ API Frontend Javascript
Web3.js - API Ethereum JavaScript.
Ethers.js - Implementasi wallet Ethereum lengkap dengan JavaScript and TypeScript.
light.js - Sebuah high-level reactive library di Javascript yang dioptimalisasikan untuk client ringan.
Web3-wrapper - Alternatif dari Web3.js untuk TypeScript.
Mencari opsi yang lain?
↳ API Backend
Infura - API as a service untuk Ethereum.
Gateway Ethereum untuk Cloudfare.
Nodesmith - Akses API JSON-RPC untuk mainnet dan test-net Ethereum.
Chainstack - Ethereum nodes as a service yang bersifat shared dan dedicated.
↳ Penyimpanan
IPFS - InterPlanetary File System adalah sistem penyimpanan terdesentralisasi dan self referencing untuk Ethereum.
Swarm - Plaftorm penyimpanan terdistribusi dan service distribusi konten untuk stack web3 Ethereum.
OrbitDB - Sebuah database peer to peer yang dibangun dengan IPFS.
↳ Perangkat Keamanan
↳ Keamanan Smart Contract
Slither - Framework analisis statis untuk Solidity yang ditulis dengan Python 3.
MythX - API analisa keamanan untuk smart contract Ethereum.
Mythril - Perangkat analisa keamanan untuk EVM bytecode.
SmartContract.Codes - Mesin pencari untuk kode sumber Solidity yang sudah diverifikasi.
Manticore - Antarmuka command line yang menggunakan sebuah perangkat eksekusi simbolis untuk smart contract dan binaries.
Securify - Pemindai keamanan untuk smart contract Ethereum.
ERC20 Verifier - Perangkat verifikasi untuk melihat apakah sebuah smart contract memenuhi standar ERC20
↳ Verifikasi Formal
Informasi mengenai Verifikasi Formal
- How formal verification of smart-contracts works 20 Juli, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts 29 Januari, 2018 - Bernard Mueller
Mencari opsi yang lain?
↳ Peralatan Pengujian
Solidity-Coverage - Perangkat alternatif untuk code coverage di Solidity.
hevm - Implementasi EVM yang dibuat secara spesifik untuk unit pengujian and debugging smart contracts.
Whiteblock Genesis - Platform lengkap untuk pengembangan sandbox dan pengujian blockchain.
Mencari opsi yang lain?
↳ Block Explorer
Block explorer (penjelajah block) adalah sebuah layanan yang membuat anda bisa untuk menjelajahi blockchain Ethereum (dan testnet-nya), dengan mencari informasi tentang transaksi, block, contract, ataupun aktifitas on-chain lainnya.
↳ Testnet dan Keran (Faucet untuk test-ether)
Komunitas Ethereum memelihara beberapa testnet. Testnet tersebut digunakan oleh para developer untuk menguji aplikasi mereka di dalam berbagai situasi dan kondisi sebelum diluncurkan di mainnet Ethereum.
Ropsten - Blockchain Proof of Work, test-ether bisa di-mine.
Rinkeby - Blockchain Proof of Authority, dikelola oleh tim developer Geth
Goerli - Blockchain Proof of Authority yang bersifat cross-client, dibuat dan dikelola oleh komunitas Goerli
↳ Client & Menjalankan node milikmu sendiri
Jaringan Ethereum terdiri dari berbagai node yang menjalankan software client yang sesuai. Kebanyakan dari node tersebut menjalankan Geth atau Parity, yang keduanya bisa diatur sesuai dengan kebutuhanmu.
↳ Client
Geth - Client Ethereum yang ditulis dengan Go.
Parity - Client Ethereum yang ditulis dengan Rust.
Pantheon - Client Ethereum yang ditulis dengan Java.
Nethermind - Client Ethereum yang ditulis dengan C# .NET Core.
↳ Menjalankan node milikmu sendiri
Ethnode - Jalankan node Ethereum (Geth atau Parity) untuk pengembangan lokal.
Sumber daya untuk node Ethereum
- Node Configuration Cheat Sheet 5 Januari, 2019 - Afri Schoeden
Mencari opsi yang lain?
↳ Praktik Terbaik, Pola dan Anti-pola
↳ Smart Contract
DappSys - Building block yang aman, simpel, dan flesksibel untuk smart contract.
OpenZeppelin Contracts - Library untuk development smart contract yang aman.
aragonOS - Pola untuk upgradeability & permission control.
Catatan Kelemahan Smart Contract (SWC)
↳ Keamanan
Panduan Praktik Keamanan Terbaik untuk Smart Contract
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Daftar rekomendasi dan praktik terbaik untuk keamanan
Smart Contract Security Verification Standard (SCSVS)
Mencari opsi yang lain?
↳ Support & Pelatihan untuk Developer
↳ Pelajaran Umum
Ethereum Stackexchange
ConsenSys Academy - Kursus lengkap untuk menjadi developer di Ethereum, self-paced dan dibuka sepanjang tahun.
Chatroom Gitter Solidity
Seluruh Chatroom Gitter Ethereum
Chainshot - Tutorial coding dapp berbasis web.
Blockgeeks - Kursus online untuk teknologi blockchain.
DappUniversity - Belajar cara membuat decentralized app (dapp) di Ethereum.
B9lab Academy - Tempat kursus developer dapp di Ethereum tertua & dan pelajaran tingkat lanjut untuk editor dan QA. Termasuk mentoring dan review code.
↳ Belajar Sambil Bermain Game
Cryptozombies - Belajar coding game di ethereum.
Ethernaut - Wargame yang dibuat dengan bahasa Solidity dimana setiap level-nya adalah smart contract yang perlu di-hack.
Capture the Ether - Game untuk keamanan smart contract di Ethereum.
↳ Desain UI/UX
- Challenge of UX in Ethereum 25 Juni, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake 22 Maret, 2018 - Sarah Baker Mills
Rimble UI - Komponen dan design standards yang dapat diadaptasi untuk Dapp (decentralized applications).
↳ Standar
Komunitas Ethereum telah mengadopsi banyak standar untuk membantu pengembang. Biasanya standar ini dikenal sebagai Ethereum Improvement Proposals (EIP), yang akan didiskusikan oleh anggota komunitas melalui sebuah proses standar (standard process).
- Daftar EIP
- Repositori github EIP
- Ruang diskusi EIP
- Ethereum Governance Overview 31 Maret, 2019 - Boris Mann
- Playlist of all Ethereum Core Dev Meetings (Playlist YouTube)
EIP tertentu berhubungan dengan standar pada tingkat aplikasi (contoh: sebuah standar format untuk smart contract), yang dikenal sebagai Ethereum Requests for Comment (ERC). Banyak ERC yang menjadi standar penting yang digunakan secara luas di ekosistem Ethereum.