Blockchain & Tokenisasi RWA dari Nol sampai Produksi
Bukan kursus trading, bukan kursus "cara cepat kaya dari kripto". Ini roadmap arsitektur sistem terdistribusi untuk software engineer — dari hash function sampai backend Java/PHP yang menandatangani transaksi lewat AWS KMS.
Studi kasus yang dipakai konsisten dari Fase 2 sampai akhir: tokenisasi emas dan saham (Real World Asset / RWA) — kasus yang butuh lebih dari sekadar "deploy token ERC-20", karena harus berhadapan dengan KYC, kepatuhan regulasi, dan kustodian aset fisik sungguhan.
- Durasi
- ~10 minggu
- Beban
- ~6 jam/minggu
- Prasyarat
- Java atau PHP, paham dasar SQL & HTTP
- Target akhir
- Backend produksi yang bicara ke smart contract di AWS
Untuk siapa roadmap ini
"Dari nol" di sini berarti nol blockchain, bukan nol pemrograman. Kamu diasumsikan sudah software engineer — terbiasa dengan Java atau PHP, paham dasar SQL, HTTP, dan REST API. Roadmap ini tidak mengajarkan cara ngoding dari awal; ia mengajarkan paradigma baru di atas kemampuan yang sudah kamu punya: bagaimana sistem tanpa database terpusat dan tanpa admin tunggal bekerja, dan bagaimana menghubungkannya ke backend yang sudah kamu kenal.
Kalau kamu belum pernah ngoding sama sekali, mulai dari Python Dasar untuk Pemula dulu. Kalau kamu ingin memperdalam sisi backend Java atau PHP-nya secara umum (bukan spesifik blockchain), Laravel dari Nol sampai Enterprise membahas arsitektur backend PHP secara mendalam.
Yang sengaja dilewati
| Topik | Alasan |
|---|---|
| Trading, analisis chart, spekulasi harga token | Ini roadmap arsitektur sistem, bukan roadmap finansial |
| Konsensus & mining/staking secara mendalam | Penting untuk validator, bukan untuk engineer yang membangun di atas jaringan yang sudah berjalan |
| Bitcoin Script, UTXO model | Fokus roadmap ini EVM (Ethereum dan kompatibelnya) karena di situlah smart contract dan tokenisasi RWA hidup |
| Framework frontend Web3 (wagmi, RainbowKit, dst.) | Fokusnya integrasi backend — Java dan PHP — sesuai kebutuhan yang diminta eksplisit |
| Rust/Solana, Move/Aptos | Satu ekosistem dulu sampai matang; polanya bisa dibawa ke ekosistem lain setelahnya |
Bentuk roadmap ini
| Bagian | Fase | Menjawab |
|---|---|---|
| Fondasi | 0 | Hash, kriptografi, dan struktur data yang mendasari segalanya |
| Menulis smart contract | 1 – 2 | Solidity, standar token, dan arsitektur tokenisasi RWA utuh |
| Menghubungkan ke backend | 3 | Bagaimana Java dan PHP bicara ke kontrak yang sudah di-deploy |
| Membuatnya aman & produksi | 4 – 5 | Kerentanan, key management, dan arsitektur AWS lengkap |
Urutannya disengaja. Fase 2 (standar token & RWA) butuh Fase 1 (Solidity) yang sudah matang, dan Fase 5 (AWS) butuh seluruh fase sebelumnya sebagai fondasi — diagram arsitektur di Fase 5 secara harfiah merangkai ulang setiap komponen yang sudah kamu bangun sepanjang course. Jangan lompat ke Fase 5.
Fondasi Kriptografi & Struktur Data
Tujuan: paham dari mana address dan transaksi berasal secara matematis, sebelum menyentuh satu baris Solidity pun — supaya materi berikutnya bukan sekadar hafalan sintaks.
Kenapa fase ini bukan basa-basi. Hampir semua "keajaiban" blockchain yang terlihat rumit — kenapa address tidak bisa didaftarkan ulang, kenapa satu block bisa mewakili ribuan transaksi dalam ukuran kecil, kenapa smart contract tidak bisa mengakses API luar — semuanya konsekuensi langsung dari empat konsep di fase ini: hash, kriptografi asimetris, Merkle tree, dan determinisme EVM.
Materi
-
Hash function — SHA-256 & Keccak-256ResmiFungsi satu arah yang jadi fondasi segalanya di blockchain — dari alamat akun sampai integritas satu block penuh transaksi.docs.soliditylang.orgBaca rangkuman →
-
Kriptografi asimetris — ECDSA & secp256k1ResmiPrivate key adalah satu-satunya bukti kepemilikan di Web3 — tidak ada 'lupa password' dan tidak ada admin yang bisa mereset.ethereum.orgBaca rangkuman →
-
Merkle tree — verifikasi ribuan transaksiResmiStruktur yang membuat satu block header 500-an byte bisa mewakili ribuan transaksi — dan membuktikan satu transaksi ada di dalamnya tanpa mengunduh semuanya.ethereum.orgBaca rangkuman →
-
Anatomi transaksi EthereumResmiMembedah field demi field satu transaksi — dari nonce yang mencegah replay attack sampai v/r/s yang membuktikan siapa pengirimnya.ethereum.orgBaca rangkuman →
-
EVM — arsitektur & model gasResmiJVM-nya blockchain: runtime terisolasi yang menjalankan bytecode yang sama persis di ribuan node — dan biaya eksekusinya diukur, bukan diasumsikan gratis.ethereum.orgBaca rangkuman →
Kamu bisa menjelaskan dari mana address Ethereum berasal tanpa menyebut "diberi oleh sistem", tahu
kenapa keccak256 bukan SHA3-256, dan paham kenapa uint256 tidak pernah bisa
overflow diam-diam sejak Solidity 0.8.
Solidity & Smart Contract
Tujuan: bisa menulis, menguji, dan men-deploy smart contract sendiri ke testnet — lengkap dengan access control yang tidak ditulis dari nol.
Bentuk yang akan kamu tulis berulang kali
modifier onlyRole(bytes32 role) {
require(hasRole(role, msg.sender), "Akses ditolak");
_;
}
function aksiTerbatas() external onlyRole(ADMIN_ROLE) {
// logika yang hanya boleh dijalankan pemegang role tertentu
}
Tiga alat, tiga peran
| Alat | Dipakai untuk |
|---|---|
| Remix | Belajar, prototipe cepat, debugging visual — tanpa instalasi |
| Hardhat | Script deployment terintegrasi JS/TS, ekosistem plugin luas |
| Foundry | Testing berat & fuzzing — tes ditulis langsung dalam Solidity |
Materi
-
Solidity — sintaks dasar & tipe dataResmiBahasa yang secara sengaja dibuat terbatas — dan justru keterbatasan itu yang membuat kode di atasnya bisa dipercaya menyimpan uang sungguhan.docs.soliditylang.orgBaca rangkuman →
-
Function, modifier & eventResmiModifier adalah middleware Solidity; event adalah satu-satunya cara murah menulis 'log' yang bisa dibaca backend-mu. Keduanya dipakai di hampir setiap kontrak produksi.docs.soliditylang.orgBaca rangkuman →
-
Tooling — Remix, Hardhat & FoundryResmiTiga alat dengan filosofi berbeda untuk pekerjaan yang sama: menulis, menguji, dan men-deploy smart contract — pilih sesuai fase proyekmu, bukan sekali untuk semua.hardhat.orgBaca rangkuman →
-
OpenZeppelin — Ownable & access controlResmiKalau kamu tidak akan menulis parser JWT sendiri untuk produksi, jangan juga menulis pattern access control smart contract sendiri. Inilah kenapa.docs.openzeppelin.comBaca rangkuman →
Kamu punya kontrak dengan role-based access control (bukan Ownable tunggal), event
ter-indexed yang bisa difilter, custom error alih-alih string require panjang,
dan setidaknya satu tes Foundry yang lolos.
Standar Token & Tokenisasi RWA
Tujuan: tahu standar token mana untuk aset yang mana, dan bisa merancang kontrak tokenisasi RWA lengkap dengan syarat KYC — bukan sekadar ERC-20 polos yang siapa saja bisa memegangnya.
Fase ini titik kumpul course. Materi terakhirnya — arsitektur tokenisasi emas & saham —
menggabungkan Solidity (Fase 1), standar token (materi-materi sebelum ini), dan menyiapkan panggung
untuk backend integration di Fase 3. Kontrak GoldToken yang dibangun di sana dipakai
sebagai studi kasus sampai akhir roadmap.
Peta pilihan standar
| Aset | Standar |
|---|---|
| Sepenuhnya fungible (emas per gram, poin) | ERC-20 |
| Unik satu per satu (sertifikat tanah, tiket) | ERC-721 |
| Banyak jenis aset terkait dalam satu penerbit | ERC-1155 |
| Fungible dengan kepatuhan KYC/AML wajib (saham) | ERC-3643 / ERC-1400 |
Materi
-
ERC-20 — token fungibleResmiStandar yang membuat token baru bisa langsung dikenali seluruh wallet dan exchange di dunia — tanpa satu pun dari mereka perlu tahu kontrakmu sebelumnya.docs.openzeppelin.comBaca rangkuman →
-
ERC-721 — NFT & aset unikResmiKalau ERC-20 adalah saldo rekening, ERC-721 adalah nomor sertifikat — tiap unit unik, tidak bisa saling dipertukarkan, dan punya pemilik yang bisa dilacak satu per satu.docs.openzeppelin.comBaca rangkuman →
-
ERC-1155 — multi-token standardResmiSatu kontrak, banyak jenis token sekaligus — fungible dan non-fungible berdampingan, dengan operasi batch yang memangkas biaya gas drastis.docs.openzeppelin.comBaca rangkuman →
-
ERC-3643 & ERC-1400 — security token & KYCResmiSaham dan aset RWA teregulasi tidak bisa memakai ERC-20 polos — hukum mengharuskan setiap pemegang terverifikasi, dan setiap transfer bisa diperiksa kepatuhannya. Inilah standar yang dirancang untuk itu.eips.ethereum.orgBaca rangkuman →
-
Arsitektur tokenisasi emas & saham (RWA)ResmiMerangkai semua yang sudah kamu pelajari — hash, standar token, kepatuhan — jadi satu arsitektur utuh: emas di brankas sungguhan, direpresentasikan token di blockchain, disinkronkan lewat oracle.ethereum.orgBaca rangkuman →
Kamu punya kontrak GoldToken lengkap: ERC-20 dengan syarat KYC di setiap perpindahan
saldo (termasuk mint dan burn), role terpisah untuk custodian dan KYC officer, dan bisa menjelaskan
kenapa totalSupply()-nya harus selalu mencerminkan aset fisik di brankas.
Integrasi Backend Java & PHP
Tujuan: backend Java atau PHP-mu bisa membaca state kontrak, mengirim transaksi, dan mengindeks riwayat event ke MySQL — tanpa memperlakukan panggilan write seperti REST API biasa.
Pembagian yang menentukan arsitektur seluruh fase ini: read (eth_call) instan dan
gratis, ditangani sinkron. Write butuh transaksi bertanda tangan, berbayar gas, dan menunggu block —
wajib asinkron. Setiap materi di fase ini mengasumsikan pembagian ini sudah dipahami.
Materi
-
RPC & node provider — Infura, Alchemy, QuickNodeResmiBackend-mu tidak bicara langsung ke blockchain — ia bicara ke satu node lewat JSON-RPC, persis seperti bicara ke REST API mana pun.ethereum.orgBaca rangkuman →
-
Read vs write — call gratis vs transaksi berbayarResmiSatu perbedaan yang menentukan arsitektur seluruh backend-mu: membaca data on-chain instan dan gratis, menulisnya butuh menunggu block dan membayar gas.docs.soliditylang.orgBaca rangkuman →
-
web3j — integrasi Java ke smart contractResmiDari file ABI JSON sampai class Java yang typesafe — web3j mengubah panggilan smart contract jadi terasa seperti memanggil service Java biasa.docs.web3j.ioBaca rangkuman →
-
web3.php — integrasi PHP ke smart contractResmiLebih tipis dan lebih manual dibanding web3j, tapi cukup untuk kebutuhan PHP paling umum: membaca state kontrak dan mengirim transaksi yang sudah ditandatangani.github.comBaca rangkuman →
-
Event listening & indexing ke MySQLResmiBlockchain adalah sumber kebenaran, tapi query SQL jauh lebih cepat dari eth_getLogs berulang-ulang. Indexing adalah cara membuat cache lokal yang selalu bisa disinkronkan ulang dari sumber aslinya.docs.web3j.ioBaca rangkuman →
Kamu punya kode Java (web3j) dan PHP (web3.php) yang bisa membaca saldo GoldToken,
tabel MySQL yang mengindeks event EmasDiterbitkan secara idempoten, dan bisa menjelaskan
kenapa panggilan write tidak boleh ditunggu sinkron di dalam request HTTP.
Keamanan & Key Management
Tujuan: tahu kelas kerentanan yang sudah membobol ratusan juta dolar di dunia nyata, dan tahu
kenapa private key produksi tidak boleh pernah jadi string plain text di kode atau .env.
Kontrak yang sudah di-deploy tidak bisa di-hotfix diam-diam. Bug di sini bukan berarti rilis patch — bisa berarti dana hilang permanen dalam hitungan detik. Fase ini bukan tambahan opsional; ini syarat sebelum kontrak mana pun menyentuh mainnet.
Materi
-
Kerentanan smart contract — reentrancy, overflow, front-runningResmiKontrak yang sudah deploy tidak bisa di-patch diam-diam seperti server biasa. Tiga kelas bug ini sudah membobol ratusan juta dolar di dunia nyata — dan semuanya bisa dicegah dengan pola yang sudah baku.docs.soliditylang.orgBaca rangkuman →
-
Key management — kenapa .env plaintext berbahayaResmiPrivate key yang mengendalikan treasury bukan kredensial biasa — sekali bocor, tidak ada 'reset password'. Peta lengkap dari yang paling berbahaya sampai yang paling aman.docs.aws.amazon.comBaca rangkuman →
-
Multi-signature wallet — Gnosis SafeResmiUntuk dana treasury dan keputusan administratif, satu private key adalah satu titik kegagalan. Safe membuat 'pemilik' sebuah kontrak jadi kesepakatan N-dari-M orang, bukan satu kunci tunggal.docs.safe.globalBaca rangkuman →
-
Pipeline testing, audit & deploymentResmiKontrak yang sudah di-deploy dan diverifikasi source code-nya tidak bisa ditambal diam-diam. Urutan pipeline ini ada supaya bug tertangkap sebelum menyentuh dana sungguhan, bukan sesudahnya.book.getfoundry.shBaca rangkuman →
Kamu bisa menjelaskan pola Checks-Effects-Interactions dari ingatan, tahu kenapa
tx.origin tidak boleh dipakai untuk otorisasi, dan punya rencana konkret: private key
produksi lewat KMS, kepemilikan admin lewat multisig, kontrak lewat pipeline testing-audit-verifikasi
sebelum mainnet.
Deployment & Arsitektur AWS
Tujuan: merangkai seluruh course jadi satu arsitektur produksi di AWS — dan tahu apa yang terjadi kalau satu node provider tiba-tiba down di tengah malam.
Fase penutup, bukan fase baru. Tidak ada konsep baru soal blockchain di sini — hanya bagaimana KMS (Fase 4), worker asinkron (Fase 3), dan resiliency infrastruktur biasa dirangkai jadi satu sistem yang bisa dipercaya menjalankan transaksi bernilai sungguhan.
Materi
-
Arsitektur AWS untuk aplikasi Web3ResmiMerangkai seluruh course jadi satu peta infrastruktur: dari API Java/PHP-mu, lewat KMS untuk signing, sampai node blockchain — dan MySQL yang menyimpan salinan lokal semuanya.docs.aws.amazon.comBaca rangkuman →
-
AWS KMS — signing transaksi tanpa expose private keyResmiImplementasi konkret dari prinsip Fase 4: bagaimana persisnya backend menandatangani transaksi Ethereum tanpa private key pernah menjadi variabel string di aplikasimu.docs.aws.amazon.comBaca rangkuman →
-
Worker & SQS — transaksi write yang tidak blockingResmiFase 3 sudah memperingatkan: jangan tunggu transaksi write secara sinkron di dalam request HTTP. Ini pola konkretnya di AWS — antrean, worker terpisah, dan status yang bisa dipoll.docs.aws.amazon.comBaca rangkuman →
-
Failover RPC & resiliencyResmiNode provider tunggal adalah satu titik kegagalan yang mudah dilupakan — sampai suatu hari mereka down dan seluruh fitur blockchain-mu ikut mati bersamanya.ethereum.orgBaca rangkuman →
Kamu bisa menggambar diagram arsitektur lengkap dari memori — API, KMS, worker, RDS, node provider —
menjelaskan kenapa signing lewat KMS butuh konversi DER ke (r, s, v) manual, dan punya
strategi failover kalau provider RPC utama down.
Aturan main & etika
- Bangun, jangan cuma baca. Setiap materi punya latihan konkret di testnet — testnet gratis, kesalahan di sana tidak berharga apa pun selain waktu.
- Jangan pernah pakai private key sungguhan untuk belajar. Seluruh roadmap ini memakai testnet; private key produksi baru relevan setelah Fase 4 dan 5 benar-benar dipahami.
- Audit independen bukan opsional untuk kontrak yang akan memegang aset bernilai signifikan di mainnet — alat otomatis (Fase 4) menangkap pola yang sudah dikenal, bukan bug logika bisnis spesifik kontrakmu.
- Tokenisasi RWA menyentuh hukum, bukan cuma teknologi. Kepatuhan KYC/AML dan regulasi sekuritas berbeda di tiap yurisdiksi — roadmap ini mengajarkan pola teknisnya (ERC-3643, dst.), bukan menggantikan nasihat hukum yang sesungguhnya dibutuhkan sebelum peluncuran produksi.
- Satu perubahan pada satu waktu. Mengubah logika kontrak dan strategi key management bersamaan membuat kegagalan sulit dilacak sumbernya.
- Hapus resource AWS setelah berlatih. KMS key, RDS, dan SQS ditagih meski dipakai sedikit — dan sebuah KMS key yang terlanjur dibuat perlu masa tunggu (pending deletion) sebelum benar-benar hilang.
Sebelum ini
Roadmap ini mengandaikan kamu sudah bisa menulis Java atau PHP dan paham dasar SQL/HTTP. Kalau kamu ingin memperdalam sisi backend Java atau PHP-nya secara umum di luar konteks blockchain, Laravel dari Nol sampai Enterprise membahas arsitektur backend PHP skala besar secara mendalam. Kalau kamu tertarik memperdalam AWS di luar konteks Web3, AWS untuk AI Engineer membahas IAM, IaC, dan observability dari sudut pandang yang berbeda.