Blockchain teknolojisi modern uygulamaların bir parçası haline gelirken, TON (The Open Network) merkeziyetsiz özellikleri doğrudan uygulamanıza entegre etmek için güçlü bir çözüm sunuyor. Blockchain destekli bir uygulama geliştirmenin en önemli bileşenlerinden biri cüzdan entegrasyonudur. TON Cüzdan, geliştiricilere token yönetimi, işlem gerçekleştirme ve blockchain ile etkileşim kurma konusunda güvenli ve kullanıcı dostu bir yol sağlar.
Bu kılavuzda, TON Cüzdan’ı uygulamanıza entegre etmek için gerekli adımları, önemli araçları, kod örneklerini ve en iyi uygulamaları anlatacağım.
Neden TON Cüzdanı Entegre Etmelisiniz?
TON Cüzdan’ı uygulamanıza entegre etmek, kullanıcı deneyimini iyileştiren ve uygulamanızın işlevselliğini artıran birkaç avantaj sunar:
- Sorunsuz Blockchain Erişimi: TON Cüzdan, kullanıcıların doğrudan uygulamanızdan işlemler yapmasına, bakiyeleri kontrol etmesine ve akıllı sözleşmelerle etkileşim kurmasına olanak tanır.
- Güvenlik ve Gizlilik: Kullanıcılar özel anahtarlarının kontrolünü elinde tutar ve tüm işlemler blockchain tarafından güvenli bir şekilde işlenir.
- Düşük Ücretler ve Yüksek Hız: TON’un hızlı ve düşük maliyetli ağı sayesinde, kullanıcılar yüksek ücretler olmadan işlemlerini verimli bir şekilde gerçekleştirebilir.
TON Cüzdan entegrasyonu, uygulamanızın TON blockchain’in yeteneklerine erişimini sağlar ve merkeziyetsiz finans (DeFi), oyun ve diğer merkeziyetsiz uygulamalara kapı açar.
Adım 1: Geliştirme Ortamının Hazırlanması
TON Cüzdan’ı uygulamanıza entegre etmek için TON blockchain ile etkileşime girebilen bir geliştirme ortamı kurmanız gerekir. Gerekli araçlarla başlayalım:
- Node.js’i Yükleyin: TON SDK’ya ihtiyaç duyulacağı için Node.js’in kurulu olduğundan emin olun (v18 veya üstü).
node -v
TON SDK’yı Yükleyin: TON SDK, uygulamanızın cüzdanları yönetmesini, akıllı sözleşmelerle etkileşim kurmasını ve işlemleri gerçekleştirmesini sağlar.
npm install @ton/sdk
Proje kurulumunu yapın: TON geliştirme projesini kurmak için şu komutu kullanın:
npm create ton@latest
Bu, cüzdan entegrasyonunu verimli bir şekilde yönetmenize yardımcı olacak sözleşmeler, testler ve komut dosyaları için klasörler içeren bir proje yapısı oluşturur.
Adım 2: TON Cüzdan Yapısını Anlamak
Entegrasyona geçmeden önce, TON Cüzdan’ın temel yapısını anlamak önemlidir. Cüzdanın akıllı sözleşmesi, işlemleri yönetmekten ve TON blockchain ile etkileşim kurmaktan sorumludur. İşte bazı temel kavramlar:
- Cüzdan Sözleşmeleri: TON’da her şey bir akıllı sözleşme olarak çalışır, cüzdanlar da dahil. Cüzdan sözleşmeleri kullanıcının bakiyesini saklar ve tüm transferleri yönetir.
- Açık ve Özel Anahtarlar: Kullanıcının cüzdanı, kullanıcı cüzdan adresini tanımlamak için kullanılan açık anahtar ve işlemleri güvenli bir şekilde imzalamak için kullanılan özel anahtar ile korunur.
- TON Connect: TON Connect, uygulamalarla kullanıcının cüzdanı arasında güvenli iletişimi sağlayan standart bir protokoldür.
Adım 3: TON Cüzdanı Uygulamanızla Bağlantılandırma
Şimdi, TON Cüzdan’ı uygulamanıza entegre etme sürecini ele alalım. Bu amaçla TON SDK ve TON Connect kullanacağız.
Adım 3.1: SDK’yı Başlatma
Uygulamanızda TON SDK’yı başlatarak, uygulamanızın blockchain ve kullanıcının cüzdanı ile etkileşime girmesini sağlayabilirsiniz.
const { TonClient } = require('@ton/sdk');
// TON client'i başlat
const client = new TonClient({
network: { endpoints: ['https://toncenter.com/api/v2/jsonRPC'] },
});
Bu, sağlanan uç noktayı kullanarak TON blockchain ile iletişim kuran bir client oluşturur.
Adım 3.2: TON Connect ile Entegrasyon
TON Connect, uygulamanızın kullanıcının cüzdanı ile güvenli bir şekilde iletişim kurmasını sağlar. İlk olarak TON Connect kütüphanesini yükleyin:
npm install @tonconnect/sdk
Daha sonra, uygulamanızın cüzdana bağlanmasını sağlayacak kodu kullanın:
import TonConnect from '@tonconnect/sdk';
const tonConnect = new TonConnect();
const connectWallet = async () => {
// Cüzdan bağlantısı iste
const connection = await tonConnect.connect();
if (connection.success) {
console.log('Cüzdan başarıyla bağlandı');
console.log('Kullanıcı cüzdan adresi:', connection.wallet.address);
} else {
console.error('Cüzdan bağlanamadı');
}
};
connectWallet();
Bu kodda:
tonConnect.connect()
kullanıcının cüzdanını uygulamanıza bağlamasını sağlar.- Cüzdan bağlandıktan sonra, cüzdan adresini ve diğer ilgili bilgileri alabilir ve işlemleri gerçekleştirebilirsiniz.
Adım 4: Uygulamanızda Cüzdan Bakiyesini Gösterme
Kullanıcının cüzdanını bağladıktan sonra, bakiyelerini göstermek önemlidir. İşte kullanıcı cüzdan bakiyesini nasıl alıp gösterebileceğiniz:
const getBalance = async (walletAddress) => {
const balance = await client.getBalance({ address: walletAddress });
console.log(`Cüzdan bakiyesi: ${balance} TON`);
// Uygulamanızın arayüzünde bakiye gösterimini güncelleyin
};
getBalance('USER_WALLET_ADDRESS');
Bu fonksiyon, kullanıcının cüzdanının mevcut bakiyesini blockchain’den sorgular ve log’a kaydeder, ancak gerçek dünyadaki bir uygulamada UI’yi (Kullanıcı Arayüzü) güncellemeniz gerekir.
Adım 5: Uygulamanızdan Toncoin Gönderme
Bir cüzdanın temel işlevlerinden biri, diğer kullanıcılara Toncoin (TON) göndermektir. Aşağıdaki kod, kullanıcı cüzdanından başka bir kullanıcıya transfer yapmanın nasıl başlatılacağını gösterir:
const sendToncoin = async (fromAddress, toAddress, amount) => {
await client.sendTransaction({
from: fromAddress,
to: toAddress,
value: amount, // Miktar TON cinsinden
});
console.log(`${fromAddress} adresinden ${toAddress} adresine ${amount} TON gönderildi`);
};
// Örnek kullanım
sendToncoin('USER_WALLET_ADDRESS', 'RECIPIENT_WALLET_ADDRESS', 10); // 10 TON gönder
Bu örnekte:
sendTransaction()
işlevi iki adres arasında işlemi gerçekleştirir.- Bu işlevi, kullanıcıların doğrudan uygulamanızdan diğer adreslere TON göndermesini sağlamak için kullanabilirsiniz.
Adım 6: Cüzdan Entegrasyonunu Geliştirme
Şimdi temel işlemler ayarlandığına göre, cüzdan entegrasyonunuzu daha iyi bir kullanıcı deneyimi için nasıl geliştirebileceğinize bakalım.
6.1. Hataları Zarifçe Yönetme
Uygulamanızın başarısız işlemler veya ağ sorunları gibi hataları zarif bir şekilde yönetmesini sağlayın. İşte işlemler sırasında hata yönetimini geliştirme örneği:
const sendToncoin = async (fromAddress, toAddress, amount) => {
try {
await client.sendTransaction({
from: fromAddress,
to: toAddress,
value: amount,
});
console.log(`${amount} TON başarıyla gönderildi`);
} catch (error) {
console.error('İşlem başarısız oldu:', error.message);
}
};
6.2. İşlem Geçmişi
Kullanıcının işlem geçmişini gösterme özelliği de ekleyebilirsiniz. Bu, blockchain’den işlem verilerini sorgulayarak yapılır.
const getTransactionHistory = async (walletAddress) => {
const transactions = await client.getTransactions({ address: walletAddress });
transactions.forEach(tx => {
console.log(`İşlem: ${tx.id}, Miktar: ${tx.value} TON`);
});
};
getTransactionHistory('USER_WALLET_ADDRESS');
6.3. UI/UX Düşünceleri
Bir cüzdanı entegre etmek yalnızca teknik işlevsellikle sınırlı değildir. Kullanıcı arayüzünün, cüzdanın özelliklerini (bakiye gösterimi, işlem geçmişi, cüzdan bağlantı istekleri) kullanıcılar için kolay erişilebilir ve sezgisel olmasını sağlamanız gerekir.
TON Cüzdan’ı uygulamanıza entegre etmek, merkeziyetsiz işlevselliğe erişim sağlar ve kullanıcıların TON tokenlarını güvenli bir şekilde yönetmesine, işlemler gerçekleştirmesine ve akıllı sözleşmelerle etkileşim kurmasına olanak tanır. İster merkeziyetsiz bir finans uygulaması, ister oyun platformu veya NFT pazarı geliştirin, TON Cüzdan entegrasyonu ile yapabilecekleriniz sınırsızdır.
Bu kılavuzda anlatılan adımları takip ederek, uygulamanıza TON Cüzdan’ı başarıyla entegre edebilir ve blockchain teknolojisinin gücünden yararlanmaya başlayabilirsiniz.