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

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.

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.

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

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

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

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

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).

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.