Web3 ve Merkeziyetsiz Uygulama (dApp) Gelistirme Rehberi
Internetin evrimi, merkeziyetsizlik kavrami etrafinda yeni bir donem baslatmistir. Web3, kullanicilarin verilerinin kontrolunu geri almasini, aracilar olmadan deger transferi yapabilmesini ve guven gerektirmeyen sistemler uzerinde islem gerceklestirmesini mumkun kilmaktadir. Bu rehberde, Web3 ekosisteminin temellerinden baslayarak merkeziyetsiz uygulama (dApp) gelistirme surecini kapsamli bir sekilde inceliyoruz.
Web1, Web2 ve Web3 Evrimi
Interneti anlamak icin uclu evrim surecine bakmak gerekmektedir. Her donem, farkli bir etkilesim modeli ve teknoloji altyapisi ile tanimlanmaktadir.
| Ozellik | Web1 (1990-2004) | Web2 (2004-2020) | Web3 (2020+) |
|---|---|---|---|
| Etkilesim | Salt okunur | Okuma-yazma | Okuma-yazma-sahiplik |
| Veri kontrolu | Sunucu sahibi | Platform sahibi | Kullanici sahibi |
| Kimlik | Yok | Platform hesaplari | Cuzdan adresleri |
| Odeme | Kredi karti | Platform icesi odeme | Token/kripto |
| Mimari | Statik sunucular | Bulut merkezli | Merkeziyetsiz aglar |
| Guven modeli | Sunucuya guven | Platforma guven | Koda guven (trustless) |
Web3'un temel felsefesi, "don't trust, verify" (guvenme, dogrula) prensibine dayanmaktadir. Kullanicilar, merkezi bir otoriteye ihtiyac duymadan islemlerini blockchain uzerinde dogrulanabilir sekilde gerceklestirebilmektedir.
dApp Mimarisi: Frontend, Smart Contract ve Blockchain
Merkeziyetsiz uygulamalar, geleneksel web uygulamalarindan farkli bir mimari yapiya sahiptir. Bir dApp'in temel katmanlari su sekilde ozetlenebilir:
Frontend Katmani
Kullanici arayuzu, geleneksel web teknolojileri (React, Next.js, Vue.js) ile gelistirilir. Ancak backend yerine blockchain ile iletisim kurulmaktadir. Bu iletisim icin Web3 kutuphaneleri kullanilmaktadir.
// ethers.js ile blockchain baglantisi
import { ethers } from 'ethers';
// MetaMask provider uzerinden baglanti
const provider = new ethers.BrowserProvider(window.ethereum);
const signer = await provider.getSigner();
// Smart contract ile etkilesim
const contract = new ethers.Contract(
'0x1234...abcd',
contractABI,
signer
);
// Fonksiyon cagrisi
const result = await contract.transfer(recipientAddress, amount);
await result.wait(); // Transaction onayini bekle
Smart Contract Katmani
Is mantigi, blockchain uzerinde calistirilabilir smart contract'lar ile tanimlanir. Bu kontratlar bir kez deploy edildikten sonra degistirilemez (immutable) yapidadir.
Blockchain Katmani
Verilerin kalici olarak saklandigi, islemlerin dogrulandigi ve konsensus mekanizmalarinin calismaktadigi katmandir. Ethereum, Polygon, Solana gibi aglar bu altyapiyi saglamaktadir.
Merkeziyetsiz Depolama
Buyuk dosyalar ve medya icerikleri blockchain uzerinde saklanmaz. Bunun yerine IPFS, Arweave gibi merkeziyetsiz depolama cozumleri kullanilmaktadir.
Smart Contract Gelistirme
Smart contract gelistirme, Web3 dunyasinin en kritik becerisidir. Iki ana programlama dili on plana cikmaktadir: Solidity ve Rust.
Solidity ile Ethereum Smart Contract
Solidity, Ethereum Virtual Machine (EVM) uyumlu zincirlerde kullanilan en yaygin dildir.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
contract TokenVault {
mapping(address => uint256) public balances;
address public owner;
event Deposit(address indexed user, uint256 amount);
event Withdrawal(address indexed user, uint256 amount);
modifier onlyOwner() {
require(msg.sender == owner, "Yetkisiz erisim");
_;
}
constructor() {
owner = msg.sender;
}
function deposit() external payable {
require(msg.value > 0, "Sifir deger gonderilemez");
balances[msg.sender] += msg.value;
emit Deposit(msg.sender, msg.value);
}
function withdraw(uint256 amount) external {
require(balances[msg.sender] >= amount, "Yetersiz bakiye");
balances[msg.sender] -= amount;
(bool success, ) = payable(msg.sender).call{value: amount}("");
require(success, "Transfer basarisiz");
emit Withdrawal(msg.sender, amount);
}
}
Rust ile Solana Programlari
Solana ekosisteminde smart contract'lar "program" olarak adlandirilir ve Rust dili ile gelistirilir. Anchor framework, bu sureci kolaylastirmaktadir.
use anchor_lang::prelude::*;
declare_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
#[program]
pub mod token_vault {
use super::*;
pub fn initialize(ctx: Context<Initialize>) -> Result<()> {
let vault = &mut ctx.accounts.vault;
vault.authority = ctx.accounts.authority.key();
vault.total_deposits = 0;
Ok(())
}
pub fn deposit(ctx: Context<Deposit>, amount: u64) -> Result<()> {
let vault = &mut ctx.accounts.vault;
vault.total_deposits += amount;
Ok(())
}
}
Blockchain Platform Karsilastirmasi
Hangi blockchain platformunun secilecegi, projenin gereksinimlerine gore degismektedir.
| Ozellik | Ethereum | Polygon | Solana |
|---|---|---|---|
| Konsensus | Proof of Stake | Proof of Stake | Proof of History + PoS |
| TPS (islem/sn) | ~30 | ~7.000 | ~65.000 |
| Ortalama islem ucreti | $1-10 | $0.01-0.1 | $0.00025 |
| Finality suresi | ~12 dakika | ~2 saniye | ~0.4 saniye |
| Smart contract dili | Solidity | Solidity | Rust, C, C++ |
| EVM uyumlulugu | Evet | Evet | Hayir |
| Ekosistem olgunlugu | Cok yuksek | Yuksek | Orta-yuksek |
| Gelistirici araclari | Hardhat, Foundry | Hardhat, Foundry | Anchor, Seahorse |
Ethereum, en genis ekosisteme ve en yuksek TVL (Total Value Locked) degerine sahiptir. Polygon, Ethereum'un olceklenebilirlik sorunlarina Layer 2 cozumu olarak onem kazanmistir. Solana ise yuksek performans gerektiren uygulamalar icin tercih edilmektedir.
Wallet Entegrasyonu
Kullanici kimlik dogrulamasi ve islem imzalama, Web3 uygulamalarinda cuzdan (wallet) entegrasyonu ile saglanmaktadir.
MetaMask Entegrasyonu
MetaMask, tarayici uzantisi olarak calisir ve EVM uyumlu tum zincirleri destekler.
// Cuzdan baglantisi
async function connectWallet() {
if (typeof window.ethereum === 'undefined') {
throw new Error('MetaMask yuklenmemis');
}
const accounts = await window.ethereum.request({
method: 'eth_requestAccounts'
});
return accounts[0];
}
// Ag degisikligi dinleme
window.ethereum.on('chainChanged', (chainId) => {
console.log('Ag degisti:', chainId);
window.location.reload();
});
// Hesap degisikligi dinleme
window.ethereum.on('accountsChanged', (accounts) => {
if (accounts.length === 0) {
console.log('Cuzdan baglantisi kesildi');
}
});
WalletConnect Protokolu
WalletConnect, mobil cuzdan uygulamalari ile web uygulamalari arasinda koprü olusturur. QR kod taramasi ile baglanti saglanir ve birden fazla cuzdan tipini destekler.
Kurumsal projelerde, Smart Maple olarak her iki entegrasyon yontemini de kullanarak genis cuzdan destegi sunmayi onermekteyiz. Bu yaklasim, kullanici deneyimini onemli olcude iyilestirmektedir.
IPFS ve Merkeziyetsiz Depolama
Blockchain uzerinde buyuk veri saklamak maliyetli ve verimsizdir. Bu nedenle merkeziyetsiz depolama cozumleri kullanilmaktadir.
IPFS (InterPlanetary File System)
IPFS, icerik adreslemeli (content-addressed) bir dagitik dosya sistemidir. Her dosya, icerigi temel alinarak olusturulan benzersiz bir CID (Content Identifier) ile tanimlanir.
| Depolama Cozumu | Kalicilik | Maliyet | Hiz | Kullanim Alani |
|---|---|---|---|---|
| IPFS + Pinata | Pin gerektir | Dusuk | Yuksek | NFT metadata, dosya paylasimi |
| Arweave | Kalici | Tek seferlik | Orta | Kalici arsivleme |
| Filecoin | Kontrat sureli | Degisken | Orta | Buyuk veri setleri |
| Ceramic | Degisken veri | Dusuk | Yuksek | Kullanici profilleri, sosyal veri |
NFT Metadata Ornegi
{
"name": "Dijital Sanat Eseri #42",
"description": "Merkeziyetsiz sanat koleksiyonu",
"image": "ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco",
"attributes": [
{ "trait_type": "Stil", "value": "Soyut" },
{ "trait_type": "Renk", "value": "Mavi" },
{ "trait_type": "Nadirlik", "value": "Epik" }
]
}
DeFi, NFT ve DAO Temel Kavramlari
Web3 ekosisteminin uc temel yapitasi, yeni is modellerinin olusmasina zemin hazirlamistir.
DeFi (Merkeziyetsiz Finans)
DeFi, geleneksel finans hizmetlerini smart contract'lar araciligiyla merkeziyetsiz sekilde sunar. Temel DeFi protokol turleri sunlardir:
- DEX (Merkeziyetsiz Borsa): Uniswap, SushiSwap gibi platformlar token takasini aracilar olmadan gerceklestirir.
- Lending/Borrowing: Aave, Compound gibi protokoller, kripto varlik odunc verme ve alma islemlerini otomatize eder.
- Yield Farming: Likidite saglayicilari, protokollere likidite sunarak odullendirilir.
- Stablecoin: DAI, USDC gibi deger sabitleme mekanizmalari fiyat istikrari saglar.
NFT (Non-Fungible Token)
NFT'ler, dijital varliklarin benzersizligini ve sahipligini kanitleyen tokenlardir. Sanat, muzik, oyun icerikleri, gayrimenkul ve kimlik dogrulama gibi alanlarda kullanilmaktadir.
DAO (Merkeziyetsiz Otonom Organizasyon)
DAO'lar, yonetim kararlarinin token sahipleri tarafindan oylama ile alindigi organizasyon yapilaridir. Hazine yonetimi, protokol guncellemeleri ve topluluk kararlari DAO mekanizmalari ile yurutulmektedir.
Web3 Guvenligi
Smart contract guvenligi, Web3 projelerinin en kritik boyutudur. Blockchain uzerindeki islemler geri alinamaz oldugu icin, guvenlik aciklari buyuk mali kayiplara yol acabilmektedir.
Yaygin Guvenlik Aciklari
Reentrancy Saldirisi: Bir fonksiyon tamamlanmadan once tekrar cagrildigi saldiri turudur. 2016 yilindaki DAO Hack'i bu aciktan kaynaklanmistir.
// GUVENLI OLMAYAN KOD
function withdraw(uint256 amount) external {
require(balances[msg.sender] >= amount);
(bool success, ) = msg.sender.call{value: amount}("");
require(success);
balances[msg.sender] -= amount; // Bakiye guncelleme sonra yapiliyor!
}
// GUVENLI KOD - Checks-Effects-Interactions pattern
function withdraw(uint256 amount) external {
require(balances[msg.sender] >= amount); // Check
balances[msg.sender] -= amount; // Effect
(bool success, ) = msg.sender.call{value: amount}(""); // Interaction
require(success);
}
Smart Contract Audit Sureci
Profesyonel bir audit sureci su asamalari icerir:
- Kod incelemesi: Satir satir manuel analiz
- Otomatik tarama: Slither, Mythril, Echidna gibi araclarla statik analiz
- Fuzz testing: Rastgele girdilerle stres testleri
- Formal verification: Matematiksel ispatlama yontemleri
- Rapor ve oneri: Bulunan aciklarin siniflandirilmasi ve cozum onerileri
Guvenlik En Iyi Uygulamalari
- OpenZeppelin kutuphanelerini temel alin
- Proxy pattern ile upgrade mekanizmasi tasarlayin
- Multi-sig cuzdan ile yonetim fonksiyonlarini koruma altina alin
- Timelock mekanizmasi ile kritik degisikliklere bekleme suresi ekleyin
- Bug bounty programi ile topluluk destekli guvenlik testi uygulayIn
Kurumsal Web3 Kullanim Alanlari
Web3 teknolojileri yalnizca kripto para ve DeFi ile sinirli degildir. Kurumsal dunyada da genis kullanim alanlari bulunmaktadir.
| Sektor | Kullanim Alani | Fayda |
|---|---|---|
| Tedarik zinciri | Urun izlenebilirlik | Seffaf ve degistirilemez kayitlar |
| Saglik | Hasta kayitlari | Veri gizliligi ve paylasim kontrolu |
| Gayrimenkul | Tapu kayitlari | Hizli ve guvenli mulkiyet transferi |
| Egitim | Diploma ve sertifika | Dogrulanabilir dijital kimlik bilgileri |
| Finans | Tokenize varliklar | Fraksiyone sahiplik ve likidite artisi |
| Sigorta | Parametrik sigorta | Otomatik hasar odeme mekanizmasi |
| Medya | Telif hakki yonetimi | Icerik sahipliginin ispatlanmasi |
Smart Maple olarak, kurumsal projelerde ozellikle tedarik zinciri izlenebilirligi ve dijital kimlik dogrulama alanlarinda Web3 cozumlerinin buyuk deger yaratabilecerine tanik olmaktayiz.
Turkiye'de Web3 Mevzuati ve Firsatlar
Turkiye, Web3 ve blockchain alaninda hem firsatlar hem de duzenleyici belirsizlikler barindiran bir konumdadir.
Mevcut Mevzuat Durumu
- Kripto varlik duzenlemesi: SPK (Sermaye Piyasasi Kurulu) gozetiminde kripto varlik hizmet saglayicilari icin lisanslama sureci baslamistir.
- Vergilendirme: Kripto varlik kazanclarina iliskin vergi duzenlmeleri netlestirilme asamasindadir.
- TCMB kararlari: Kripto varliklarin dogrudan odeme araci olarak kullanilmasi yasaklanmistir, ancak yatirim araci olarak tutulmasi serbesttir.
Firsatlar
- Turkiye, kripto varlik benimsenme oraninda dunya genelinde ust siralarda yer almaktadir.
- Genc ve teknoloji merakli nufus, Web3 projelerine yuksek ilgi gostermektedir.
- Istanbul ve Ankara merkezli blockchain topluluklari ve hackathon'lar ekosistemi guclendirmektedir.
- Dijital Turk Lirasi (CBDC) calismalari, blockchain altyapisina olan kurumsal ilgiyi artirmaktadir.
Gelistiriciler Icin Oneriler
- Uluslararasi projelerde calisarak deneyim kazanin
- Testnette prototipleme yaparak maliyet kontrolu saglayin
- Acik kaynak projelere katki saglayarak portfolio olusturun
- Yerel blockchain topluluklarina katilarak ag kurma firsatlarini degerlendirin
Web3 Gelistirme Araclari ve Workflow
Etkili bir Web3 gelistirme sureci icin asagidaki arac seti onemlidir:
| Kategori | Araclar | Aciklama |
|---|---|---|
| Gelistirme ortami | Hardhat, Foundry | Smart contract derleme ve test |
| Frontend SDK | ethers.js, wagmi, viem | Blockchain etkilesim kutuphaneleri |
| Test agi | Sepolia, Mumbai, Devnet | Ucretsiz test ortamlari |
| Node saglayici | Alchemy, Infura, QuickNode | RPC endpoint hizmetleri |
| Blok gezgini | Etherscan, Polygonscan, Solscan | Islem ve kontrat dogrulama |
| Guvenlik | Slither, Mythril, Echidna | Otomatik guvenlik taramasi |
| Depolama | IPFS, Pinata, Arweave | Merkeziyetsiz dosya saklama |
Sonuc
Web3 ve merkeziyetsiz uygulama gelistirme, yazilim dunyasinda paradigma degisimi yaratmaktadir. Geleneksel backend-frontend ayrimi yerini, smart contract-frontend-blockchain uc katmanli mimarisine birakmaktadir. Bu donusum, gelisriciciler icin yeni beceriler edinmeyi zorunlu kilmakta, ayni zamanda veri sahipligi, seffaflik ve aracisizlastirma gibi temel degerlerle yenilikci is modelleri olusturma firsati sunmaktadir.
Basarili bir Web3 projesi icin guvenlik once celikli yaklasim benimsenmeli, dogru platform secimi yapilmali ve kullanici deneyimi on planda tutulmalidir. Ekosistem hizla olgunlasmakta ve kurumsal benimsenme her gecen gun artmaktadir. Simdi Web3 yetkinliklerine yatirim yapmak, yakin gelecekte onemli bir rekabet avantaji saglayacaktir.
Related Articles
MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma
Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı
Read MoreLLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]
LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek
Read MoreBilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI
Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri
Read More
