如何将 8 亿 Telegram 用户连接到主流区块链生态?

490 阅读3分钟

HackQuest 带你开发 tg 小程序

HackQuest # 适合所有人的 Web3 编程平台

image.png

Telegram 概况

今年年中,Telegram 公布了其月活用户量已突破 8 亿,每日新增用户超过 250 万,这两个数据非常恐怖。在 IM(即时通讯)应用中,Telegram 至少排名全球前三。这点跟很多人的认知不太一样,很多人认为 Telegram 是非常小众的,是搞 Crypto、搞隐私的人在用,但其实它已经越过了那个门槛,已经是很多地方的主流应用了。

Telegram 可以创建多达 20 万人的群组或频道,作为对比,微信群的人数上限是 500 人。

Telegram 有两个种子产品,一个是 Telegram Bot,它有点像服务号,你给它发一条消息它给你回一条消息;另一个是 Mini App,对标小程序,内置了 TON 钱包,支持 TON 代币、BTC、USDT(TRC-20)。其中,TON 是 Telegram 自己开发的区块链。和微信比,它缺少 “朋友圈”、“红包” 等广受欢迎的微信功能。

Telegram 是以隐私保护起家的,但是我们不能深究。因为它所谓的隐私端到端加密不是默认的,而是需要单独设置一个端到端的聊天,否则所有的聊天记录都能搜出来。另外,Telegram 的数据默认永远存在后端,如果上传文件,最大能上传 2GB 的文件,但它又是免费的应用,如果深究下去就会很奇怪。Telegram 加好友也是默认把你的手机号分享给对方的,除非你每次加好友时都取消分享。所以,Telegram 在隐私保护上其实没有那么强,如果你特别注重隐私,建议还是用 Signal。

Telegram 的其中一个优点是无需许可即可开发 Mini App,这对 Web3 开发者而言非常友好。

Mini App 开发入门

Mini App 和微信小程序的区别和相似点,主要有:

1、Mini App 无须官方托管,可以直接使用外部 URL,Telegram 的内置浏览器直接打开访问,更加灵活。

2、开发 Mini App 无须 KYC,无须官方许可。

3、Mini App 必须和 bot 关联。

4、Mini App 中同样屏蔽了一些 Html 调用,包括 Deep Link、WebSocket、WebAuthn 等。

5、Mini App 中无法直接通过 Html 保存浏览器状态,但可通过其他方式绕过。比如,它提供了一个云存储空间,用 KV 的数据方式来存储。这点其实也容易理解,它希望用户在多端的状态是统一的、同步的。

对开发者来说,可能最大的区别就是 URL 和托管。Mini App 的开发成本很低,远远低于微信小程序。

那么,怎么创建一个 Mini App 呢?

其实特别简单。Telegram 提供了一个叫 BotFather 的机器人,你去访问它,它的左下角有个菜单,你可以发一些指令,比如发送 “/newbot” 就可以创建一个新的 bot,然后设置 bot 的名字,获得 access token。

前面提到 Mini App 必须和 bot 关联,所以在创建 Mini App 的时候,它会问你要关联到哪个 bot 下面,你选刚才创建的 bot,然后按它提供的步骤设置好图标、名字、简介等,最后输入一个 URL,这个 Mini App 就创建完了。同一个 bot 可以设置多个 Mini App。

创建完 Mini App,你可以选择什么都不做,直接让它访问 URL 就可以了,但如果你要做点什么,就需要上下文信息、用户信息,就需要先初始化 Mini App:引入 telegram-web-app.js,访问 window.Telegram.WebApp,校验 initDataUnsafe,获取必要的上下文信息,最后云端状态同步 CloudStorage。

image.png

创建一个关联到该 bot 的 app

image.png

输入你的 web url, 就能正常生成你的 app 了

image.png

直接打开这个链接

image.png

探索更多的使用场景