Andrew C. | TON DevRel

一、背景

之前的课程我们讲了 Bot、Mini App、TON 区块链的基础和智能合约编程等相关知识,之间的关系可以简单整理到如下图所示:

image.png

(图中只标出了部分主要的连接线。)

对应的 TON 生态的开发者其实也有很多不同的分类,比如:

# 分类 主要编程语言 备注
1 TON 前后端应用开发 JavaScript, TypeScript 使用 TON Connect、SDK
开发 bot、mini app 和后端
2 TON 智能合约开发 FunC, Tact, Tolk 使用 Blueprint
TGE 和 NFT 都有模板
DeFi 协议需要合约专家
3 TON 基础设施开发 Python, Go, C++ 开发钱包、 RPC, SDK,TC 等
基建是长期跨周期的事情
4 TON 区块链开发 C++, (more Node Impl.) TON monorepo, TEPs
用其他语言实现节点,提案

因为 Telegram、浏览器和钱包至少有电脑和手机两类客户端,而钱包和浏览器又分别有很多不同的产品可选,同时大部分钱包还有浏览器插件,那这里面的“链接组合“将会非常复杂。

这就会衍生出一些问题需要思考:

  1. TG 客户端里面的 Mini App,如何安全地和钱包链接建立链接并让钱包签名?
  2. 如果是 Mini App 是在TG PC 客户端打开,如何用手机上的钱包 App 进行签名?反之依然。
  3. @Wallet 本身是一个 Mini App,它如何给其他 Mini App 进行钱包链接和签名? 我是否也可以做一个 Mini App 钱包?
  4. PC 浏览器插件钱包,如何和浏览器中运行的 TON DApp 进行链接和钱包?
  5. 手机浏览器无法安装插件钱包,如何和手机上的钱包 App 进行通信?