TON SDKs

From TON Wiki (Hi)

TON SDKs, या TON सॉफ़्टवेयर डेवलपमेंट किट, TON नेटवर्क पर अनुप्रयोगों के विकास और स्मार्ट कॉन्ट्रैक्ट इंटरैक्शन को सुविधाजनक बनाने के लिए डिज़ाइन की गई सॉफ़्टवेयर लाइब्रेरी का संग्रह है।

Overview

TON SDK डेवलपर्स को एपीआई, कोड नमूने, दस्तावेज़ीकरण और परीक्षण ढांचे सहित संसाधनों का एक व्यापक सेट प्रदान करते हैं। ये उपकरण ब्लॉकचेन विकास की अधिकांश अंतर्निहित जटिलताओं को दूर करते हैं, जिससे डेवलपर्स को व्यापक विशेषज्ञता की आवश्यकता के बिना TON पर निर्माण करने में सक्षम बनाया जाता है। TON SDK आमतौर पर भाषा-विशिष्ट होते हैं, जो विभिन्न प्रोग्रामिंग भाषाओं को पूरा करते हैं।

विभिन्न भाषाओं के लिए SDKs

Node.js

Node.js डेवलपर्स के लिए, node-tonlib पैकेज tonlibjson लाइब्रेरी के चारों ओर एक आवरण प्रदान करता है, जो आपके Node.js अनुप्रयोगों से सीधे TON के साथ इंटरेक्शन की अनुमति देता है।

node-tonlib एक C++ ऐडऑन है जो TON क्लाइंट लाइब्रेरी के JSON इंटरफ़ेस, tonlibjson के लिए Node.js रैपर के रूप में कार्य करता है। यह आपके Node.js प्रोजेक्ट्स में TON कार्यक्षमता को एकीकृत करने का एक सीधा तरीका प्रदान करता है, जो आपको वॉलेट निर्माण और प्रबंधन, लेनदेन भेजने या प्राप्त करने, स्मार्ट अनुबंधों के साथ इंटरैक्शन और TON ब्लॉकचेन को क्वेरी करने जैसे विभिन्न संचालन करने में सक्षम बनाता है।

node-tonlib को स्थापित करना सरल है और इसे Node.js पैकेज मैनेजर का उपयोग करके किया जा सकता है। Ubuntu 20.04 और macOS Mojave सहित प्लेटफार्मों के लिए पूर्व-निर्मित बायनेरिज़।

TON JS Client

व्हेल्स कॉर्प द्वारा बनाई गई TON JS क्लाइंट लाइब्रेरी, जिसका रखरखाव डैन वोल्कोव द्वारा किया जाता है, JavaScript या TypeScript वातावरण का उपयोग करके TON के साथ इंटरैक्ट करने के लिए एक क्रॉस-प्लेटफ़ॉर्म क्लाइंट प्रदान करता है। यह सामान्य ब्लॉकचेन संचालन के लिए एक उच्च-स्तरीय, सहज एपीआई प्रदान करता है।

प्रमुख विशेषताओं में शामिल हैं:

वॉलेट निर्माण:

MnemonicNew() और mnemonicToPrivateKey() जैसे कार्यों के साथ वॉलेट निर्माण को सरल बनाता है। TON सिक्के रखने, स्थानांतरित करने और स्मार्ट अनुबंध इंटरैक्शन के लिए आवश्यक है।

वॉलेट अनुबंध इंटरेक्शन:

WalletContractV4.create().Abstracts के साथ वॉलेट अनुबंधों को सहजता से त्वरित करता है। एप्लिकेशन लॉजिक पर ध्यान केंद्रित करते हुए निम्न-स्तरीय अनुबंध विवरणों का सार प्रस्तुत करता है

Balance Queries:

सीधे बैलेंस प्रश्नों के लिए contract.getBalance() विधि प्रदान करता है। उपयोगकर्ता बैलेंस प्रदर्शित करने और फंड के आधार पर निर्णय लेने के लिए महत्वपूर्ण है।

लेन-देन प्रबंधन:

contract.getSeqno() जैसी विधियों के साथ लेनदेन निर्माण और भेजने को सुव्यवस्थित करता है। contract.createTransfer() के साथ लेनदेन के निर्माण और भेजने को सक्षम बनाता है।

Flexible Transaction Configuration:

निर्दिष्ट मूल्यों और प्राप्तकर्ता पते के साथ आंतरिक संदेशों सहित विभिन्न लेनदेन प्रकारों की अनुमति देता है। सरल हस्तांतरण से जटिल अनुबंध इंटरैक्शन तक बहुमुखी प्रतिभा प्रदान करता है।

Cross-Platform Support:

विभिन्न JavaScript वातावरणों में उपयोग के लिए डिज़ाइन किया गया। ब्राउज़र पॉलीफ़िल (आवश्यकता ("बफ़र") के साथ ब्राउज़र-आधारित अनुप्रयोगों के लिए न्यूनतम अतिरिक्त सेटअप आवश्यक है।

नेटवर्क कॉन्फ़िगरेशन:

HTTP एपीआई एंडपॉइंट को निर्दिष्ट करके मेननेट और टेस्टनेट दोनों वातावरणों के साथ इंटरैक्शन का समर्थन करता है। विकास, परीक्षण और उत्पादन परिनियोजन के लिए महत्वपूर्ण।

tonutils

यह एक अत्याधुनिक TypeScript टूलकिट है जिसे TON के नेटवर्क प्रोटोकॉल के साथ इंटरएक्टिविटी को सरल बनाने के लिए डिज़ाइन किया गया है। इसके मॉड्यूलर आर्किटेक्चर में `tonutils/adnl`, `tonutils/dht`, `tonutils/keyring`, `tonutils/config`, और `tonutils/tl` जैसे घटक शामिल हैं। यह TON की उन्नत नेटवर्किंग सुविधाओं पर ध्यान केंद्रित करता है और TON प्रॉक्सी, TON साइट्स और TON स्टोरेज जैसी TON सेवाओं के साथ इंटरैक्ट करता है।

TON Web

टोनवेब एक शक्तिशाली JavaScript एसडीके है जिसका उपयोग (TON) के साथ इंटरेक्शन के लिए किया जाता है। यह टूल और उपयोगिताओं का एक व्यापक सेट प्रदान करता है जो डेवलपर्स को सरल वॉलेट से लेकर जटिल विकेन्द्रीकृत अनुप्रयोगों (DApps) तक TON-आधारित अनुप्रयोगों की एक विस्तृत श्रृंखला बनाने में सक्षम बनाता है।

इंस्टालेशन

TonWeb को web और Node.js दोनों परिवेशों में आसानी से एकीकृत किया जा सकता है:

प्रमुख विशेषताऐं

प्रदान किया गया उदाहरण कोड TonWeb की कई शक्तिशाली विशेषताओं को प्रदर्शित करता है:

वॉलेट निर्माण और प्रबंधन:

TON वॉलेट जेनरेट करने के लिए tonweb.wallet.create() का उपयोग करें, जिसके लिए एक स्मरणीय वाक्यांश से उत्पन्न या प्राप्त सार्वजनिक कुंजी की आवश्यकता होती है।

पता प्रबंधन:

wallet.getAddress() का उपयोग करके वॉलेट पते प्राप्त करें। TonWeb non-bounceable करने योग्य पते सहित विभिन्न पता प्रारूपों का समर्थन करता है।

वॉलेट परिनियोजन:

wallet.deploy(secretKey).send() के साथ TON ब्लॉकचेन पर वॉलेट तैनात करें, जो नेटवर्क पर वॉलेट सक्रियण के लिए एक आवश्यक कदम है।

लेन-देन निर्माण और शुल्क अनुमान:

wallet.methods.transfer(), सहायक प्राप्तकर्ता, राशि (नैनोटन में), अनुक्रम संख्या, पेलोड और भेजने के मोड विनिर्देश के साथ लेनदेन बनाएं और भेजें। .estimateFee() के साथ भेजने से पहले लेनदेन शुल्क का अनुमान लगाएं।

Python

TON Tools

tontools लाइब्रेरी एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) लाइब्रेरी है जो ब्लॉकचेन इंटरैक्शन, वॉलेट्स को प्रबंधित करने, स्मार्ट कॉन्ट्रैक्ट्स को तैनात करने और विभिन्न टीओएन-विशिष्ट सुविधाओं के साथ इंटरैक्ट करने के लिए उपकरणों का एक उपयोगकर्ता-अनुकूल सेट प्रदान करती है।

tontools के प्रमुख पहलुओं में शामिल हैं:

Provider Flexibility: कई प्रदाताओं का समर्थन करता है: providers:TonCenterClient (TonCenter API)LsClient (Lite servers)DtonClient (GraphQL API)TonApiClient (Indexing API)) डेवलपर्स जरूरतों के आधार पर चयन करते हैं: प्रदर्शन, दर सीमा, इंडेक्सिंग।

Wallet Management: आसानी से वॉलेट बनाएं, तैनात करें और प्रबंधित करें, निमोनिक्स के साथ बनाएं। पते से जांचें, TON सिक्के तैनात करें और स्थानांतरित करें।

Smart Contract Interaction: इनके साथ इंटरैक्ट करने के लिए कक्षाएं प्रदान करता है: NFTs (NftItem, NftCollection, NftItemSale)। Jettons (Jetton, JettonWallet)। कस्टम कॉन्ट्रैक्ट्स (कॉन्ट्रैक्ट क्लास)।

लेन-देन प्रबंधन: TON लेनदेन प्रक्रियाओं को सरल बनाता है: TON सिक्के भेजें और प्राप्त करें। Jettons.Query स्थानांतरित करें। लेनदेन इतिहास को क्वेरी करें।

ब्लॉकचेन पूछताछ: TON ब्लॉकचेन को क्वेरी करने के तरीके: ब्लॉक और लेनदेन डेटा पुनर्प्राप्त करें। अनुबंध स्थिति प्राप्त करें। ब्लॉकचेन घटनाओं की सदस्यता लें।

Object-Oriented Design: सहज ज्ञान युक्त कोड के लिए OOP दृष्टिकोण का उपयोग करता है।

Error Handling and Safety: इसमें नॉन-बाउंसेबल एड्रेस हैंडलिंग जैसी सुविधाएं शामिल हैं।

Community and Resources: ओपन-सोर्स, TON समुदाय द्वारा अनुरक्षित। उदाहरण और दस्तावेज़ उपलब्ध कराए गए।

pytoniq

इसे TON नेटवर्क के साथ सीधे संपर्क के लिए डिज़ाइन किया गया है, जो निम्नलिखित सुविधाएँ प्रदान करता है:

  • Native LiteClient implementation
  • ADNL समर्थन
  • Distributed Hash Table (DHT) client
  • स्कैनिंग और लेनदेन प्रबंधन को ब्लॉक करें
  • स्मार्ट कॉन्ट्रैक्ट इंटरेक्शन

यह pytoniq को सरल वॉलेट से लेकर जटिल विकेन्द्रीकृत अनुप्रयोगों (DApps) तक, TON-आधारित अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त बनाता है।

Installation

pytoniq के साथ आरंभ करने के लिए, आप इसे पाइप, Python's पैकेज इंस्टॉलर के माध्यम से इंस्टॉल कर सकते हैं:

pip install pytoniq

प्रमुख घटक और विशेषताएं

1. LiteClient

pytoniq का LiteClient TON के लाइट सर्वर के साथ सीधे संपर्क की अनुमति देता है। प्रमुख विशेषताओं में शामिल हैं:

  • डेटा सत्यापन के लिए कॉन्फ़िगर करने योग्य विश्वास स्तर (0 से 2)।
  • मास्टरचेन जानकारी पुनर्प्राप्ति।
  • ब्लॉक और लेनदेन स्कैनिंग।
  • स्मार्ट अनुबंध विधि मंगलाचरण.

2. LiteBalancer

लाइटबैलेंसर प्रतिक्रिया और ब्लॉक ऊंचाई के आधार पर बुद्धिमानी से अनुरोधों को "सर्वश्रेष्ठ" लाइट सर्वर पर रूट करके लाइटक्लाइंट को बढ़ाता है। यह टाइमआउट पर पुनः प्रयास का भी समर्थन करता है और ऐतिहासिक प्रश्नों के लिए विशेष रूप से अभिलेखीय सर्वर को लक्षित कर सकता है।

3. ब्लॉक स्टोर

शून्य-विश्वास संचालन के लिए, pytoniq लाइट सर्वर से प्राप्त डेटा को सत्यापित करने के लिए एक स्थानीय ब्लॉक स्टोर (.blockstore फ़ोल्डर) का उपयोग करता है, जो विकेंद्रीकरण से समझौता किए बिना डेटा अखंडता सुनिश्चित करता है।

4. ADNL and DHT

पाइटोनीक ADNL (एब्सट्रैक्ट डेटाग्राम नेटवर्क लेयर) और DHT (डिस्ट्रिब्यूटेड हैश टेबल) का मूल कार्यान्वयन प्रदान करता है, जो पीयर-टू-पीयर संचार और विकेंद्रीकृत डेटा भंडारण को सक्षम करता है।

tonpy

tonpy एक उच्च प्रदर्शन वाला पायथन पैकेज है जिसका उद्देश्य TON के साथ बातचीत करना है। यह विशिष्ट रूप से C++ दक्षता को Python के उपयोग में आसानी के साथ जोड़ती है।

Overview

C++ Core: प्रदर्शन-महत्वपूर्ण संचालन C++ में कार्यान्वित किए जाते हैं।

Python Wrapper: उपयोगकर्ता के अनुकूल पायथन API पूर्व-संकलित C++ बायनेरिज़ पर निर्मित है।

Result: TON विकास के लिए तेज़, Pythonic इंटरफ़ेस।

प्रमुख विशेषताऐं

TON Data Structures: पते, सेल, ब्लॉक आईडी का कुशल संचालन।

Wallet Management: वॉलेट बनाएं, प्रबंधित करें; लेनदेन पर हस्ताक्षर करें।

Transaction Handling: लेनदेन बनाएं, हस्ताक्षर करें, भेजें; फीस का अनुमान लगाएं.

Smart Contracts: Deploy, call TON contracts (FunC, TVM).

Network Protocols: ADNL, DHT, RLDP कार्यान्वयन.

Golang(Go)

tonutils-go

यह एक मजबूत, Golang लाइब्रेरी है जिसे TON ब्लॉकचेन के साथ सहज इंटरैक्शन के लिए डिज़ाइन किया गया है। यह TON के कोर नेटवर्किंग प्रोटोकॉल के कुशल कार्यान्वयन और उच्च-प्रदर्शन, समवर्ती संचालन पर ध्यान केंद्रित करने के लिए जाना जाता है।

प्रमुख विशेषताऐं

वॉलेट संचालन

Initializing Wallet

seed के साथ एक नया वॉलेट बनाएं या मौजूदा वॉलेट का उपयोग करें। वॉलेट अनुबंध पहले संदेश के साथ तैनात और आरंभ होता है।

Basic Usage

Seed Words: वॉलेट आरंभ करने के लिए seed शब्दों का उपयोग करें।

Get Balance: वॉलेट का बैलेंस जांचें.

Transfer: यदि शेष राशि पर्याप्त है तो धनराशि स्थानांतरित करें, जिसमें स्थानांतरण के साथ एक संदेश भी शामिल है।

Contract Interaction

GET Methods

  • ब्लॉक जानकारी प्राप्त करें, एक अनुबंध विधि चलाएँ, और परिणाम को पार्स करें।
  • एक अनुबंध पते पर एक संदेश बनाएं और भेजें। अनुबंध इसे संसाधित करता है और शुल्क काटता है।
  • अनुबंध कोड, प्रारंभिक डेटा और संदेश का मुख्य भाग प्रदान करके वॉलेट की पद्धति का उपयोग करके अनुबंध तैनात करें।

NFT संचालन

  • NFT को ढलाई, स्थानांतरण और सूचना पुनर्प्राप्ति के साथ प्रबंधित करें।
  • संग्रह और स्वामित्व विवरण सहित NFT डेटा पुनर्प्राप्त करें।
  • सामग्री URI और मालिक जैसी संग्रह जानकारी तक पहुंचें।
  • NFT के लिए पूर्ण सामग्री URL पुनर्प्राप्त करें। Jetton ऑपरेशन और DNS ऑपरेशन भी किए जा सकते हैं।

C#

TonSdk.NET

यह पुस्तकालयों का एक व्यापक सुइट है। सुइट में प्रत्येक पैकेज एक अलग उद्देश्य पूरा करता है, डेवलपर्स को स्मार्ट अनुबंधों से जुड़ने और उन्नत नेटवर्किंग सुविधाओं का उपयोग करने में मदद करता है।

Packages

इसमें अलग-अलग उद्देश्यों के लिए अलग-अलग पैकेज शामिल हैं, TonSdk.Core में आवश्यक प्रकार शामिल हैं। TonSdk.Client का उद्देश्य TonCenter.TonSdk.Contracts के साथ इंटरेक्शन देना है और स्मार्ट कॉन्ट्रैक्ट्स का अमूर्तन और कार्य करना है। TonSdk.Connect का उपयोग Ton Connect 2.0 के साथ एकीकरण के लिए किया जाता है। TonSdk.Adnl नेटवर्क लेयरिंग के लिए है।

ये सभी पैकेज NuGet पर उपलब्ध हैं।

अन्य भाषाओं में SDKs

TonKotlin

`TonKotlin` TON श्वेतपत्र में उल्लिखित सिद्धांतों का पालन करते हुए नेटवर्क संचालन, ब्लॉकचेन इंटरैक्शन, वर्चुअल मशीन संचालन को प्रबंधित करने के लिए विभिन्न मॉड्यूल प्रदान करता है।

प्रमुख मॉड्यूल और उनकी कार्यक्षमताएँ:

TON-Kotlin एक क्रॉस-प्लेटफ़ॉर्म SDK है जिसे डेवलपर्स के लिए Kotlin का उपयोग करके ओपन नेटवर्क (TON) के साथ इंटरैक्ट करने के लिए डिज़ाइन किया गया है। यह TON श्वेतपत्र में उल्लिखित सिद्धांतों का पालन करते हुए नेटवर्क संचालन, ब्लॉकचेन इंटरैक्शन और वर्चुअल मशीन संचालन को प्रबंधित करने के लिए विभिन्न मॉड्यूल प्रदान करता है।

  • ton-adnl Abstract Datagram Networking Layer Protocol लागू करता है।
  • ton-api में TL योजना से संरचनाएं शामिल हैं।
  • ton-bitstring TON वर्चुअल मशीन द्वारा उपयोग की जाने वाली bit स्ट्रिंग्स को प्रबंधित करता है।
  • ton-block में TL-B योजना से संरचनाएं शामिल हैं।
  • ton-boc Serializes को एक संग्रह (bag-of-cells) के रूप में क्रमबद्ध और deserializes करता है।
  • ton-cell cells में डेटा, TON ब्लॉकचेन और VM में मूलभूत इकाइयों का प्रतिनिधित्व करता है।
  • ton-crypto, TON में प्रयुक्त cryptographic algorithms और डेटा रूपांतरण विधियों के लिए इंटरफ़ेस प्रदान करता है।

Tonlib-java

Tonlib-java TonLib के लिए एक JVM-based wrapper है, जो Java, Scala, Kotlin और अन्य JVM भाषाओं के साथ उपयोग को सक्षम बनाता है।

TonLib का अवलोकन

TonLib, a C++ client-side library, द ओपन नेटवर्क (TON) के साथ सुरक्षित और कुशल इंटरैक्शन की सुविधा प्रदान करती है। इसमें सुरक्षित नेटवर्क संचार सुनिश्चित करने के लिए आवश्यक कार्यक्षमताएँ शामिल हैं।

Key Features of Tonlib-java:

  • JNI एकीकरण: Java, Java नेटिव इंटरफेस (JNI) के माध्यम से टोनलिब के साथ इंटरैक्ट करता है, जिससे नेटिव सी++ कोड पर सीधे कॉल की अनुमति मिलती है।
  • ग्राहक कार्यान्वयन: मुख्य कार्यशीलताएं Client.java क्लास के भीतर संपुटित हैं।
  • Typed Message Classes: TonApi.java में निर्दिष्ट जेनरेट किए गए टाइप किए गए संदेश वर्गों का उपयोग करके संचार को सुव्यवस्थित किया जाता है।
  • सुरक्षा: TonLib लाइटसर्वर से प्राप्त डेटा के लिए Merkle प्रमाणों को मान्य करता है, जिससे डेटा की अखंडता और प्रामाणिकता सुनिश्चित होती है। यह सार्वजनिक लाइटसर्वरों के साथ सुरक्षित इंटरैक्शन की अनुमति देता है।

ayrat555/ton

  • Language: Elixir
  • Type: Offchain-only

C++ Tonlib

  • Language: C++
  • Type: Tonlib binary

Java Tonlib

  • Language: Java
  • Type: Tonlib binary

labraburn/SwiftyTON

  • Language: Swift
  • Type: Tonlib binary

tonlib-xcframework

  • Language: Swift
  • Type: Tonlib binary

लिंक

  1. TON SDKs Documentation
  2. tongo SDK in Golang language
  3. TON library in Rust
  4. SDK in C#
  5. Offchain SDK in Python
  6. kotlin SDK
  7. java SDK
  8. C++ SDK
  9. Swift SDK