根据 Statista 的数据,Python 是世界上第三大最受欢迎的编程语言,到 2023 年将有超过 49% 的开发人员使用 Python。考虑到这一点,并了解我们构建世界上最常用的区块链生态系统的目标,我们不能忽视 Python 在构建 The Open Network (TON) 方面的重要性和潜力。
尽管 Tact 编程语言是 TON 的核心,但我们的社区不断开发新的 Python 库,让 Python 开发人员能够为 TON 生态系统的发展做出贡献。
在本文中,我们将分享您可以在 TON 上利用的最流行的 Python 库。请注意,其中一些库仍在由其作者开发,但无论如何都提供了大量宝贵的信息,而其他库可能会被放弃。
在开始之前,我们建议您阅读有关在 TON 上设置开发环境的文章。
The Open Network 的 Python 库
我们不会以任何特定的顺序列出库的使用方式,因此请随意滚动以查找您要查找的内容。
ADNL 运输
摘要数据报网络层(ADNL)是 TON 的基石。这种去中心化网络协议构建在当前 IPv4 框架中的 UDP 之上,未来将过渡到 IPv6,促进快速、轻量级的数据传输。如果 UDP 无法访问,您可以选择切换到更可靠的 TCP。ADNL 优先考虑速度和直接的同行互动,而不是保证交付。您可以在 ADNL 协议文档中找到更多信息
- Yungwine 的 Pythoniq – 用于 TON 区块链的 Python SDK,通过 UDP、DHT 和 RLDP(未来)上的本机 LiteClient 和 ADNL 扩展 pytoniq-core 。它被许多人认为是 TON 的旗舰 Python 库。
- Igroman787 的 mytonlib – 另一个优秀的本机库,无需使用 libtonlibjson.so 即可使用 The Open Network。由于它是本机库,因此速度略有限制。该库是由 xssnick 基于 TON Deep 编写的。
TonLib 包装器
TonLib Wrapper 是一个库,允许您直接通过 ADNL 协议与 TON 交互,而无需使用任何 HTTP API。它基于 tonlibjson,这是 tonlib 的 JSON 接口,tonlib 是一个实现 TON 精简版客户端功能的库。
不同的编程语言有不同的 TonLib 包装器,例如 Python、.NET 和 JavaScript。
- PyTONLib – 这是一个基于 libtonlibjson 的独立 Python 库。该功能类似于 ton-http-api,但有一些限制 - 客户端只能连接到一台 LiteServer;客户端是异步的;没有请求缓存。
HTTP API 或 TonLib Wrapper(均支持)
以下库可以与 TonLib Wrapper 一起使用,也可以直接与 HTTP API 一起使用;无论你喜欢哪个。
- TonTools by Yungwine – 用于 Python 的高级 OOP 库,提供大量功能,例如扫描自定义合约和运行 get 方法、创建、部署和扫描钱包、NFT 集合扫描、Jetton 和 Jetton 钱包扫描、交易扫描原始且用户友好的表单等等。
- TONsdk by sasha1618 (tonfactory), Yungwine, Psylopunk – 这个低级库包含很多有用的信息,但代码未完成且混乱。不幸的是,这个库似乎不再开发,现在已经被放弃了。
TON C++ 包装器
- Disintar 的 Tonpy – 一个 Python 包,提供与 TON 交互的数据结构和 API。Tonpy 分为两个包: C++ 绑定和主包,该主包采用工作流编译的预构建二进制文件,并在 C++ 绑定之上创建一个完整的 Python 包,其中包含一些 Python 代码。
TON 连接
TON Connect 是 TON 生态系统中钱包和应用程序之间的通信协议。钱包不需要自己构建围墙花园生态系统,而应用程序也不需要承担持有最终用户账户的风险。TON Connect 旨在在钱包和应用程序之间提供无缝的用户体验。请阅读我们最近的文章TON Connect – 没有密码的未来,以更好地理解这个概念及其好处。单击此处获取 TON Connect Github 存储库。
- PyTon Connect by XaBbl4 – 适用于 TON Connect 2.0 的 Python SDK。该库类似于@tonconnect/sdk 库,您可以使用它通过 TON Connect 协议将您的应用程序连接到 TON 钱包。您可以在文档中找到更多详细信息和协议规范。
- ClickoTON Foundation 的 TON Connect for Python – 另一个用于将 TON Connect 连接到 Python 应用程序的库。该库包含 34 个提交,似乎正在积极开发中,最后一次活动是在两周前。
Python 上 TON 的开发
在这里,您可以找到一些更方便的工具来帮助您在 TON 上使用 Python。
- TON Indexer - 帮助您在 Postgres 数据库中存储块、交易和消息,并提供方便的 API。
- MyTonCtrl – 一个控制台应用程序,是 fift、lite-client 和 validator-engine-console 的便捷包装器。它是专门为简化 Linux 操作系统上的钱包、域和验证器管理任务而开发的。
- 用于 The Open Network 的 HTTP API – 由于 TON 节点使用自己的 ADNL 二进制传输协议,因此 HTTP 连接需要中间服务。TON HTTP API就是这样一个中间服务;通过 HTTP 接收请求,它使用 tonlibjson 访问 TON 网络的精简版服务器。您可以使用现成的toncenter.com服务或启动您自己的实例。
已弃用的库
虽然我们不建议使用这些库,因为它们现在已经过时和废弃,但您仍然可以搜索它们以查看是否有任何有价值的信息。
- TVM 值类型– 该库现已被 Pythoniq 取代,可使用 TON 的基本原语(Cell、HashMap)。该库是与 TON 虚拟机的七种值类型一起使用的实用程序的集合 - Integer、Cell、Tuple、Null、Slice、Builder 和 Continuation。
- Pytonlib by Psylopunk - 现在完全废弃,该库允许您使用 Python 的 TON API。它提供了一系列功能,例如创建和导入钱包、获取钱包余额和交易、转移代币、执行智能合约方法以及转移 NFT。
其他
最后但并非最不重要的一点是,一个不适合上述任何类别但仍然包含一系列有用功能的库。
- Rift 请访问 Rift 网站– TON 的全栈开发框架,使开发人员可以轻松使用 Python 在 TON 上开发、测试和部署智能合约。借助 Rift,您可以利用 Python 的简单性和多功能性来构建 TON 并与 TON 交互,而无需学习 FunC 或 Fift 的复杂性。有关 Rift 如何简化这些流程的示例,
本站所提供的所有资讯均仅供读者参考。这些资讯不代表任何投资建议、提供、邀请或推荐。读者在使用这些资讯时,应当考虑自己的个人需求、投资目标和财务状况。所有投资都伴随着一定的风险,在做出任何投资决策之前请多加留意。