#Dapp
A DApp (Aplikasi Terdesentralisasi) adalah aplikasi yang berjalan di jaringan peer-to-peer komputer daripada pada satu komputer atau server, memanfaatkan teknologi blockchain untuk keamanan dan transparansi.
## Komponen Kunci DApps
```
+----------------+ +-------------------+ +-----------------+
| Antarmuka UI | <-> | Kontrak Pintar | <-> | Blockchain |
| (Tradisional | | (Kode yang dieksekusi sendiri di on-chain) | | (Buku besar Terdistribusi) |
| web/mobile) | | | | |
+----------------+ +-------------------+ +-----------------+
```
## Karakteristik Inti
- **Terdesentralisasi**: Beroperasi tanpa otoritas pusat atau server
- **Sumber Terbuka**: Kode tersedia untuk umum dan dapat diaudit
- **Berbasis Token**: Menggunakan token kriptografi untuk akses atau imbalan
- **Otonom**: Diatur oleh mekanisme konsensus seperti proof-of-work atau proof-of-stake
## Arsitektur DApp
DApps biasanya terdiri dari:
1. **Frontend**: Antarmuka pengguna tradisional yang dibangun dengan teknologi web
2. **Backend**: Kontrak pintar yang disebarkan di blockchain
3. **Lapisan Blockchain**: Buku besar terdistribusi yang menyimpan semua transaksi dan status
### Struktur Contoh
```ts
// Frontend (misalnya, React/Vue)
function sendTransaction(amount) {
const DAppContract = new web3.eth.Contract(ABI, CONTRACT_ADDRESS);
DAppContract.methods.transfer(amount).send({from: userAddress});
// Kontrak Pintar (contoh Solidity)
pragma solidity ^0.8.0;
contract SimpleDApp {
mapping(address => uint) public balances;
function transfer(uint amount) public {
balances[msg.sender] -= amount;
balances[recipient] += amount;
## Kategori DApps
| | Kategori | Contoh | Kasus Penggunaan | |
|----------|---------|----------|
| | Keuangan | Uniswap, Aave | Perdagangan terdesentralisasi, peminjaman, peminjaman | |
| | Permainan | Axie Infinity | Permainan blockchain play-to-earn | |
| | Sosial | Mastodon | Media sosial terdesentralisasi | |
| | Penyimpanan | Filecoin | Penyimpanan file terdistribusi