Merkeziyetsiz uygulamalar (dApps) geliştirme söz konusu olduğunda, TON (The Open Network) esnek ve ölçeklenebilir altyapısıyla güçlü bir sistem sunar. TON Mini Uygulama ekosistemi, basitliği ve Telegram ile entegrasyonu sayesinde geliştiriciler için caziptir ve milyonlarca kullanıcıya ulaşmayı mümkün kılar. TON Mini Uygulamalar oluşturmanın önemli bileşenlerinden biri de Bot Father’dır; bu, uygulama geliştirmede temel görevi üstlenir. Bu makalede, bir TON Mini Uygulaması oluşturmanın kilit adımlarını, özellikle Bot Father’ı ele alarak anlatacağım ve bu proje için neden önemli olduğunu açıklayacağım.
Bu Teknolojinin Ana Odak Noktası Nedir?
Temelde, TON Mini Uygulama ekosistemi, Telegram botları, merkeziyetsiz depolama ve akıllı sözleşmeler kullanarak uygulama oluşturmayı basitleştirir. Geleneksel uygulamaların aksine, geliştiriciler kendi sunucularını ve veritabanlarını yönetmek zorunda kalmazlar; TON, merkeziyetsiz ağlar kullanarak bu yükü azaltır. Bot Father ile geliştiriciler, mini uygulamaları için bir kullanıcı arayüzü görevi gören botlar oluşturabilir ve yapılandırabilir. Odak noktası, botlar aracılığıyla kullanıcılar ile merkeziyetsiz hizmetler arasında sorunsuz bir etkileşim yaratırken, blokzinciri tabanlı güvenlik ve şeffaflığın avantajlarını korumaktır.
TON Mini Uygulamaları’nın en kritik yönü, Telegram botları ile TON blokzinciri arasındaki entegrasyondur. Botlar, kullanıcılar ve merkeziyetsiz hizmetler arasında bir aracı olarak hareket eder; Telegram’ın tanıdık arayüzü içinde işlemleri kolaylaştırır, veri işleme işlemlerini gerçekleştirir ve daha fazlasını sunar.
Örnek Uygulama: Bot Father Üzerinden Bir Bot Oluşturma
Bot Father aracılığıyla bot oluşturma sürecini adım adım inceleyelim. Bu, TON Mini Uygulamanızın temelini oluşturacaktır.
- Bot Father ile Sohbete Başlama
Bot oluşturma sürecini başlatmak için Telegram’a gidin ve Bot Father’ı arayın. Bu, geliştiricilere botları kaydetmelerine ve yönetmelerine yardımcı olmak için Telegram tarafından tasarlanmış özel bir bottur.
Adım: Telegram’ı açın → 'Bot Father' arayın → Sohbete başlayın
- Yeni Bir Bot Oluşturma
Sohbete başladıktan sonra/newbot
yazın. Bot Father size botunuza bir isim vermenizi isteyecektir. TON Mini Uygulamanızla ilgili açıklayıcı bir isim seçin. Ardından,bot
ile biten benzersiz bir kullanıcı adı seçmeniz istenecektir.
Örnek:
İsim: MyTONApp
Kullanıcı adı: MyTONApp_bot
- API Token’ınızı Alın
Botunuzu başarıyla adlandırdıktan sonra, Bot Father size bir API tokenı sağlayacaktır. Bu token, Telegram API’si ile etkileşime geçmek için kritik öneme sahiptir ve botunuza işlevsellik kazandırmanın bir kapısıdır.
Adım: API tokenını kopyalayın ve güvenli bir şekilde saklayın. Bu, botunuzu TON Mini Uygulamasına bağlamak için kullanılacaktır.
- Bot Özelleştirme
Bot oluşturulduktan sonra, istediğiniz zaman Bot Father’a geri dönüp botun ayarlarını özelleştirebilirsiniz. Komutları, açıklamaları yapılandırabilir ve hatta gerçek zamanlı kullanıcı etkileşimlerini yönetmek için webhook URL’lerini entegre edebilirsiniz.
Örnek özelleştirme:
/setdescription → Bu komutla botunuza bir açıklama ekleyin.
/setcommands → Botun tanıyacağı ve üzerine işlem yapacağı bir dizi komut tanımlayın.
Kod Uygulaması: Python’da Bot Kurulumu
Şimdi, API tokenını alıp TON blokzinciri ile etkileşime giren basit bir Python backend’ine nasıl bağlayabileceğimizi görelim. Bu, başlamanız için temel bir örnektir:
- Python Ortamını Ayarlamaİlk olarak, botunuz için gereken kütüphaneleri yükleyin. Telegram ile iletişim kurmak için
python-telegram-bot
ve TON blokzinciri ile etkileşim içinpyton
kütüphanesine ihtiyacınız olacak.
pip install python-telegram-bot pyton
- Temel Bot KurulumuAşağıdaki kod, Bot Father’dan aldığınız Telegram API tokenını kullanarak botunuzu nasıl başlatacağınızı gösterir.
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
# API tokenınız ile botu başlatın
TOKEN = 'YOUR_API_TOKEN_HERE'
def start(update, context):
"""Kullanıcı botu başlattığında hoş geldiniz mesajı gönderen fonksiyon"""
context.bot.send_message(chat_id=update.effective_chat.id, text="MyTONApp'e hoş geldiniz! Bugün size nasıl yardımcı olabilirim?")
def help_command(update, context):
"""Kullanıcılara yardım sağlamak için kullanılan fonksiyon"""
context.bot.send_message(chat_id=update.effective_chat.id, text="Kullanabileceğiniz bazı komutlar: /start /help")
def echo(update, context):
"""Kullanıcının mesajını tekrar eden fonksiyon"""
context.bot.send_message(chat_id=update.effective_chat.id, text=update.message.text)
if __name__ == '__main__':
# Updater nesnesini oluşturun ve dispatcher ile olayları yönetin
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher
# Farklı komutlar için handler ekleyin
dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(CommandHandler('help', help_command))
# Mesajı tekrar eden handler
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
# Polling başlatın
updater.start_polling()
updater.idle()
Bu kod, /start
ve /help
komutlarına yanıt veren basit bir Telegram botu kurar. Bunu genişleterek TON blokzinciri ile etkileşime geçen daha fazla komut ve mantık ekleyebilirsiniz.
- TON Blokzinciri ile EtkileşimTemel botunuzu çalıştırdıktan sonra, TON blokzinciri ile entegre olmaya başlayabilirsiniz. Aşağıda,
pyton
kütüphanesini kullanarak bir TON cüzdan bakiyesini nasıl sorgulayabileceğinize dair bir örnek bulunmaktadır:
from pyton import TonClient
client = TonClient()
def get_wallet_balance(wallet_address):
"""Bir TON cüzdanının bakiyesini alın"""
try:
balance = client.get_balance(wallet_address)
return balance
except Exception as e:
return str(e)
Şimdi, kullanıcıların cüzdan bakiyelerini kontrol eden bir /balance
komutu ekleyerek Telegram botunu genişletebilirsiniz:
def balance(update, context):
"""Kullanıcının cüzdan bakiyesini alan fonksiyon"""
wallet_address = "YOUR_WALLET_ADDRESS_HERE" # Bu adres kullanıcıdan dinamik olarak alınabilir
balance = get_wallet_balance(wallet_address)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"Cüzdan bakiyeniz: {balance} TON")
dispatcher.add_handler(CommandHandler('balance', balance))
- Gerçek Zamanlı Etkileşim için Webhook AyarıKullanıcı etkileşimlerini gerçek zamanlı işlemek için webhook kurmanız gerekecek. Webhook, botun mesaj aldığında backend’inizi bilgilendirecek. İşte bir webhook uç nokta olarak hareket edecek basit bir Flask uygulamasının nasıl yapılandırılacağı:
from flask import Flask, request
from telegram import Update
from telegram.ext import Dispatcher
app = Flask(__name__)
# Botu ve dispatcher'ı kurun
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher
@app.route('/webhook', methods=['POST'])
def webhook():
"""Telegram'dan gelen güncellemeleri işleyin"""
update = Update.de_json(request.get_json(), updater.bot)
dispatcher.process_update(update)
return "ok"
if __name__ == '__main__':
app.run(port=5000)
Webhook’u kurduktan sonra botunuzu bu URL’ye yönlendirebilirsiniz:
updater.bot.set_webhook(url='https://yourdomain.com/webhook')
Uygulamanın Temel Noktaları
Bot Father’ı anlamak ve nasıl çalıştığını kavramak, TON Mini Uygulamanızın başarısı için hayati öneme sahiptir. İşte odaklanmanız gereken temel noktalar:
-
API Token Kullanımı
API tokenı, botunuzu Telegram’ın arka ucuna bağlar ve mesaj gönderip almasına olanak tanır. TON Mini Uygulaması bağlamında, bot kullanıcı etkileşimlerini yönetir ve bu istekleri backend sistemlerinize, akıllı sözleşmelere veya merkeziyetsiz depolamaya iletir. API tokenının güvenli bir şekilde saklanması ve kullanımı, yetkisiz erişimi önlemek için çok önemlidir. -
Telegram Bot Arayüzü
Botunuz, ana kullanıcı arayüzü olarak görev yapacaktır. TON Mini Uygulamanız ile etkileşime geçerken kullanıcıların deneyimini olabildiğince sezgisel hale getirmeye odaklanın. Net bir şekilde tanımlanmış komutlar ve yanıtlar sağlamak önemlidir. Ayrıca bot, kullanıcıya uygulama içinde yaptıkları işlemler hakkında anlamlı geri bildirimler verebilmelidir. -
Webhook Entegrasyonu
Gerçek zamanlı etkileşimler için bot, backend’inize bir webhook aracılığıyla bağlanmalıdır. Botun, kullanıcı isteklerini anında işlemesi bu şekilde mümkün olacaktır. Telegram sunucuları ile backend arasında güvenli bir bağlantı kurarak, tüm iletişimlerin şifreli ve güvenilir olduğundan emin olun. -
TON Blokzinciri ile Bağlantı Kurma
Bot arayüzünü çalıştırdıktan sonra TON blokzinciri ile entegrasyon yapmanız gerekecektir. Bu, işlemleri yürütmek veya kullanıcı verilerini yönetmek için backend mantığını yöneten akıllı sözleşmelerin oluşturulması ve dağıtılması anlamına gelir. Bot, kullanıcı işlemlerinin doğrulanması ve blokzincir üzerinde işlenmesi için bu akıllı sözleşmelerle etkileşime geçecektir.
Botlardan Tam Donanımlı Mini Uygulamalara Geçiş
Bot Father ile bir bot oluşturmak, tam işlevsel bir TON Mini Uygulaması oluşturmaya yönelik ilk adımdır. Botu kurup backend ile bağladıktan sonra, akıllı sözleşmelerin entegrasyonu, merkeziyetsiz depolama ve kullanıcı deneyiminin optimize edilmesi gibi daha ileri aşamalara geçilir. Bot arayüzü sayesinde, kullanıcılar TON blokzinciri ile sorunsuz bir şekilde etkileşim kurabilir, komutlar verebilir ve verileri alabilir; bu sayede merkeziyetsiz teknolojinin karmaşıklığını anlamalarına gerek kalmaz.
Bot Father, başlangıç aşamalarını basitleştirerek TON Mini Uygulama geliştirmesinin daha gelişmiş yönlerine odaklanmanıza olanak tanır. NFT pazar yeri, DeFi platformu veya tamamen yeni bir şey inşa ediyor olsanız da, bot kurma süreci TON ekosistemine açılan kapınızdır.