Dijital dünyanın evrimini izlemek, birçok geliştirici için her zaman heyecan verici olmuştur. Bir zamanlar "merkeziyetçi" olan internet, şimdi Web 3.0 ile merkeziyetsiz bir geleceğe doğru adım atıyor. Bu dönüşümün kalbinde ise Blockchain teknolojisi ve decentralized uygulamalar (dApp) yer alıyor. Ancak, bu yeni teknolojilere nasıl adapte olacağınızı mı merak ediyorsunuz? İşte size harika bir rehber! Express.js kullanarak adım adım merkeziyetsiz bir uygulama (dApp) geliştirecek ve Web 3.0 dünyasına ilk adımınızı atmanızı sağlayacağız.
Web 3.0 ve Blockchain: Nedir Bu Yeni Dünya?
Peki, merkeziyetsiz bir uygulama (dApp) nedir? Kısaca, dApp’ler blockchain tabanlı uygulamalardır ve merkezi bir sunucuya dayanmazlar. Bunun yerine, tüm veriler blockchain üzerinde saklanır ve işlemler, akıllı sözleşmeler aracılığıyla gerçekleştirilir. Bu, kullanıcıların daha güvenli ve şeffaf bir şekilde işlem yapmasını sağlar.
Express.js ve Blockchain: En İyi İkili
Express.js, özellikle API’lar ve web uygulamaları için mükemmel bir altyapı sağlar. Bu rehberde, adım adım Express.js kullanarak bir decentralized uygulama (dApp) geliştireceğiz. Hazır olun, çünkü Web 3.0 dünyasına doğru inanılmaz bir yolculuğa çıkacağız!
Adım 1: Gerekli Araçları Kurma
- Node.js ve NPM: Express.js'i kullanmak için Node.js kurulu olmalı.
- Ganache: Blockchain ağı üzerinde işlem yapmak için Ganache gibi bir test ağına ihtiyacımız olacak.
- Truffle: Akıllı sözleşmeleri geliştirmek için Truffle framework’ünü kullanacağız.
Kurulum Komutları:
```bash
npm install -g truffle
npm install ganache-cli
```
Ganache'yi çalıştırarak test blockchain ağımızı oluşturacağız:
```bash
ganache-cli
```
Adım 2: Express.js Projesi Oluşturma
```bash
mkdir dapp-project
cd dapp-project
npm init -y
npm install express
```
Yeni bir Express.js sunucusu başlatalım:
```js
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Merhaba Web 3.0 Dünyası!');
});
app.listen(port, () => {
console.log(`Sunucu ${port} portunda çalışıyor`);
});
```
Express.js sunucumuzu başlattıktan sonra, tarayıcımızda http://localhost:3000 adresine giderek "Merhaba Web 3.0 Dünyası!" mesajını görebiliriz.
Adım 3: Blockchain ve dApp Entegrasyonu
Öncelikle, Truffle ile bir proje başlatıyoruz:
```bash
truffle init
```
Truffle, akıllı sözleşmeler için geliştirme ortamı sağlar. Bu ortamda Solidity dilinde yazılmış akıllı sözleşmeleri geliştirebiliriz.
```solidity
// contracts/SimpleStorage.sol
pragma solidity ^0.8.0;
contract SimpleStorage {
uint256 public storedData;
function set(uint256 x) public {
storedData = x;
}
function get() public view returns (uint256) {
return storedData;
}
}
```
Bu basit akıllı sözleşme, veriyi saklamak ve almak için temel işlevsellik sunar. Şimdi, bu sözleşmeyi blockchain ağına dağıtmak için Truffle kullanacağız.
```bash
truffle migrate
```
Adım 4: Express.js ile Blockchain’i Birleştirme
```js
const Web3 = require('web3');
const web3 = new Web3('http://localhost:8545');
const contractABI = [ /* ABI burada olacak */ ];
const contractAddress = '0x...';
const contract = new web3.eth.Contract(contractABI, contractAddress);
app.post('/setData', async (req, res) => {
const accounts = await web3.eth.getAccounts();
await contract.methods.set(req.body.value).send({ from: accounts[0] });
res.send('Veri blockchain’e kaydedildi!');
});
app.get('/getData', async (req, res) => {
const result = await contract.methods.get().call();
res.send(`Stored Data: ${result}`);
});
```
Sonuç: Merkeziyetsiz Uygulamanız Hazır!
###