TON Mini Uygulama Geliştirme Sanatında Ustalaşmak: Kendi Telegram Botunuzu İnşa Etmek

Blockchain teknolojisinin günlük uygulamaları nasıl dönüştürebileceğini hiç düşündünüz mü? TON (The Open Network), merkeziyetsiz ağların gücünü Telegram gibi platformların sorunsuz kullanıcı deneyimiyle birleştirerek, kullanıcılara blockchain teknolojisine doğrudan erişim sunan mini uygulamalar ve botlar geliştirmeye olanak tanır. TON ile, kullanıcıların merkeziyetsiz uygulamalara (dApps) erişmesini sağlayan, güvenli işlemler gerçekleştiren ve blockchain ile etkileşime giren botlar oluşturabilirsiniz.

Bu makalede, TON’un blockchain altyapısını kullanarak bir Telegram botu oluşturma sürecini adım adım ele alacağım. Bu rehber, bot oluşturmanın ötesinde akıllı sözleşmeleri anlamaya, TON SDK entegrasyonuna ve geliştirme ortamına derinlemesine odaklanacak.

TON Mini Uygulamaları Neden Oyunu Değiştiriyor?

TON’un benzersiz kılan şey, Telegram gibi platformlarla sorunsuz entegrasyon sunmasıdır. Bu entegrasyon, geliştiricilere 800 milyonun üzerinde aktif kullanıcıya erişim sağlar. TON üzerindeki mini uygulamalarla etkileşimleri otomatikleştirebilir, merkeziyetsiz finansal hizmetler oluşturabilir veya düşük işlem ücretleri ve yüksek ölçeklenebilirlik sunan oyun platformları kurabilirsiniz.

TON mini uygulamalarının neden bu kadar cazip olduğuna bakalım:

  • Yüksek İşlem Hızı ve Ölçeklenebilirlik: TON, iş zincirleri ve parçalar halinde bölünebilen son derece ölçeklenebilir bir mimaride çalışır ve saniyede milyonlarca işlem yapabilir.
  • Düşük İşlem Ücretleri: Pek çok blockchain ağında yüksek ücretler uygulanırken, TON çok düşük ücretler sunar ve bu da mikro işlemler ve bot tabanlı uygulamalar için idealdir.
  • Akıllı Sözleşme Tabanlı Otomasyon: Akıllı sözleşmelerin kullanımı, bot içinde gerçekleştirilen işlemlerin ve süreçlerin güvenli ve şeffaf olmasını sağlar.

Şimdi, TON üzerinde bir mini uygulama oluşturmanın teknik adımlarına geçelim.

Adım Adım TON Üzerinde Bir Cüzdan Botu İnşa Etme

1. Geliştirme Ortamını Hazırlama

Geliştirmeye başlamadan önce, ortamınızı hazırlamanız gerekir. TON’un geliştirme ekosistemi, TON SDK, FunC ve Tact gibi güçlü araçları içerir ve bu araçlar akıllı sözleşme geliştirme için omurgayı sağlar. Başlamak için şu adımları izleyin:

  • Node.js Yükleyin: TON SDK, Node.js’e bağımlıdır. 18 veya daha üst sürüme sahip olduğunuzdan emin olun. Sürümü kontrol etmek için şu komutu kullanın:
node -v
  • Yeni Bir TON Projesi Oluşturun: npm create ton@latest komutunu kullanarak bir TON projesi oluşturabilirsiniz. Bu komut, uygun yapı ile bir proje iskeleti oluşturur ve sözleşmeler, komut dosyaları ve testler için klasörler içerir.
npm create ton@latest

Bu, aşağıdaki gibi önemli dizinleri oluşturacaktır:

  • contracts/ FunC ve Tact tabanlı akıllı sözleşmeler için.
  • scripts/ dağıtım komut dosyaları için.
  • tests/ akıllı sözleşmelerin test edilmesi için.

2. Cüzdan Akıllı Sözleşmesini Yazma

TON’da, her uygulama akıllı sözleşmelerle çalışır. Bu akıllı sözleşmeler ya FunC (TON’un düşük seviyeli dili) ya da Tact (daha geliştirici dostu bir seçenek) ile yazılır. Kullanıcı bakiyelerini ve işlemleri yönetebilen temel bir cüzdan sözleşmesini FunC ile yazalım:

// wallet.fc
() recv_internal(int msg_value) {
    ;; İçerik değerini içeren bir mesaj alın
    if (msg_value < min_balance) {
      throw(101);  ;; Hata kodu: bakiye çok düşük
    }
    ;; Toncoin gönderme veya kullanıcı ile etkileşim mantığı
    int balance = get_balance();
    send_grams(recipient, balance - fee);  ;; İşlem ücretini düştükten sonra bakiyeyi alıcıya gönder
}
  • Kodun Anlaşılması:
    • Bu sözleşme, içerik değerine sahip gelen mesajları dinler.
    • Eklenen değerin önceden tanımlanmış min_balance miktarından büyük olup olmadığını kontrol eder. Eğer değilse, hata atar.
    • Koşullar sağlandığında, bakiye (işlem ücreti çıkarılarak) alıcıya gönderilir.

Bu basit sözleşme, daha karmaşık işlevlerin temelini oluşturabilir; örneğin, birden fazla cüzdanı yönetme, kullanıcı izinlerini yönetme veya tekrar eden işlemleri otomatikleştirme gibi.

3. Telegram Bot API ile Entegrasyon

Sıradaki adım, akıllı sözleşmenizi Telegram ile entegre etmektir. TON SDK’yı kullanarak, botun arka uç mantığını oluşturacağız ve botun kullanıcı komutlarına yanıt vermesini ve blockchain ile etkileşimde bulunmasını sağlayacağız.

  • SDK’yı Yükleyin: Öncelikle, botunuzun blockchain ile iletişim kurmasını sağlamak için TON SDK’yı yükleyin:
npm install @ton/sdk
  • Temel Bot Mantığı: Telegram botunuzu TON blockchain’e bağlayan basit bir Node.js komut dosyası yazalım. Bu bot, bakiyeleri kontrol etme ve işlem yapma gibi işlemleri gerçekleştirebilir.
const { TonClient } = require('@ton/sdk');
const TelegramBot = require('node-telegram-bot-api');

const token = 'YOUR_TELEGRAM_BOT_API_TOKEN'; 
const bot = new TelegramBot(token, { polling: true });

// TON client'i başlat
const client = new TonClient({
  network: { endpoints: ['https://toncenter.com/api/v2/jsonRPC'] },
});

// /balance komutunu işle
bot.onText(/\/balance/, async (msg) => {
  const chatId = msg.chat.id;
  const balance = await client.getBalance({ address: 'YOUR_WALLET_ADDRESS' });
  bot.sendMessage(chatId, `Bakiyeniz ${balance} TON`);
});

// /send komutunu işle
bot.onText(/\/send (.+)/, async (msg, match) => {
  const chatId = msg.chat.id;
  const amount = match[1];  // Kullanıcının mesajından miktarı al
  await client.sendTransaction({ from: 'YOUR_WALLET_ADDRESS', to: 'RECIPIENT_ADDRESS', value: amount });
  bot.sendMessage(chatId, `${amount} TON alıcıya gönderildi.`);
});

Bu kodda:

  • /balance komutu, blockchain’den bakiyeyi alır ve kullanıcıya iletir.
  • /send komutu, kullanıcıya Toncoin gönderme imkanı tanır.

4. Akıllı Sözleşmenin Dağıtımı

Sözleşmeyi geliştirdikten sonra, bunu TON test ağına dağıtma zamanı. Akıllı sözleşmeyi canlıya almak için bir dağıtım komut dosyasına ihtiyacınız olacak.

const { TonClient } = require('@ton/sdk');

const deployContract = async () => {
  const client = new TonClient();
  await client.contracts.deploy({
    abi: 'wallet.abi.json',
    tvc: 'wallet.tvc',
    initParams: {},
  });
};

deployContract();
  • Bu Ne Yapar:
    • deployContract() fonksiyonu, cüzdan sözleşmenizi testnet’e dağıtır.
    • Dağıtıldıktan sonra, sözleşme aktif hale gelir ve işlemleri yönetmeye başlar.

5. Botu ve Sözleşmeyi Test Etme

Botu halka açmadan önce, iyice test etmeniz gerekir. TON’un Sandbox aracı, yerel bir blockchain simülasyonu içinde sözleşmenizi test etmenize olanak tanır. Bu, hatalı işlemlerin maliyetini azaltır ve hata ayıklama için kontrollü bir ortam sağlar.

npx blueprint test

Bu komut, yazdığınız tüm test komut dosyalarını çalıştırır ve sözleşmenizin beklenildiği gibi davranmasını sağlar. Testler geçtikten sonra, botu ana ağda dağıtabilir ve kullanıcıların canlı olarak etkileşimde bulunmasına izin verebilirsiniz.

6. Bot Performansını Optimize Etme

TON üzerinde bot geliştirirken, performansı optimize etmeye ve işlem maliyetlerini en aza indirmeye odaklanmalısınız. İşte bazı ipuçları:

  • Toplu İşlem İşleme: Birden çok küçük işlem yapmak yerine, bunları daha büyük işlemler halinde toplamak, ücretleri azaltır.
  • Gaz Optimizasyonu: TON, sözleşme yürütme için gaz ücretleri alır, bu nedenle sözleşmelerinizin mümkün olduğunca az gaz kullanacak şekilde optimize edilmesi önemlidir.
  • Veri Önbelleği: Sık erişilen verileri (örneğin bakiyeler) önbelleğe almak, botunuzun yapması gereken blockchain sorgularının sayısını azaltır.

TON Botunuzu Bir Sonraki Seviyeye Taşımak

TON üzerinde bir bot oluşturmak sadece başlangıçtır. TON blockchain’in ölçeklenebilirliği ve çok yönlülüğü, sonsuz olasılıklar sunar. İşte keşfedebileceğiniz bazı gelişmiş özellikler:

  • Çoklu Cüzdan Desteği: Kullanıcıların aynı bot üzerinden birden fazla cüzdanı yönetmesine olanak tanıyarak, farklı işlem türlerini (örneğin, ödemeler, birikimler) yönetmelerini sağlayabilirsiniz.
  • Merkeziyetsiz Finans (DeFi) Botları: Kullanıcıların merkeziyetsiz borsalarda (DEX) varlıkları takas etmesine veya staking havuzlarına katılmasına izin veren botlar oluşturabilirsiniz.
  • Oyun Botları: Kullanıcıların ödül olarak Toncoin veya NFT kazanabileceği oyunlar oluşturun.

Son Düşünceler: TON ile Botların Gücünü Açığa Çıkarmak


Blockchain teknolojisi gelişmeye devam ederken, TON, geliştiricilere merkeziyetsiz uygulamalar ve botlar oluşturma konusunda benzersiz bir fırsat sunar. TON’un yüksek işlem kapasitesini, düşük ücretlerini ve akıllı sözleşme yeteneklerini kullanarak güçlü, ölçeklenebilir ve kullanıcı dostu uygulamalar geliştirebilirsiniz.

Bir ödeme botu, oyun uygulaması veya DeFi platformu geliştiriyor olun, TON ekosisteminin potansiyeli sınırsızdır. Bu rehberle edindiğiniz bilgilerle, TON mini uygulama geliştirme dünyasına ilk adımlarınızı atmaya ve The Open Network’ün sunduğu geniş olanakları keşfetmeye hazırsınız.