BNB 链正在 Web3 生态系统中取得进展,促进 Telegram mini-dApps 的开发,这些应用可以作为 Telegram 机器人启动,并可直接通过用户的 Telegram 账户访问。根据 BNB 链博客,这一新发展旨在解决使用 TON 钱包购买应用内虚拟资产的局限性。
部署架构
这些 mini-dApps 的部署架构包括由游戏开发者托管的前端、后端和数据库。架构可以集成各种钱包小部件,如 WalletConnect 或 thirdweb。mini-游戏通常不依赖 TON 钱包,但可以与 EVM 链钱包集成,以提供更好的用户体验。
认证和初始化
认证是 Telegram mini-游戏的重要第一步。当游戏由游戏机器人启动时,游戏的前端通过 Telegram SDK 的 initData 获取用户的 Telegram 信息。这些数据用于验证认证并创建用户的游戏内账户和个人信息。
开发者可以使用 'retrieveLaunchParams' 函数读取 initData,该数据由 Telegram 机器人的密钥签名。然后 initData 被发送到游戏后端进行验证,使用诸如 '@telegram-apps/init-data-node' 之类的库。
安全考虑
安全措施包括检查初始化数据的过期时间,默认设置为 1 天。建议使用其他机制,例如验证 auth_date 参数,防止被盗初始化数据的滥用。
会话管理
在验证 initData 后,获取账户 ID,并通过 websocket 建立与服务器的通信。这种连接确保每个用户基于其账户 ID 拥有一个单一的 websocket 通信通道。还可以实现游戏内余额管理系统,以降低延迟和链上交互成本。
对于 BNB 链上的游戏,开发者可以使用钱包小部件,让玩家直接购买游戏内资产,消除 TON 钱包交易和桥接成本。
游戏内余额和订单管理
后端同步任务检查未完成的订单,并在每次登录或固定轮询时间后更新相关信息。当玩家创建新订单时,前端保存交易信息,后端通过索引器跟踪链上数据。一旦交易确认,后端通知前端,确保无缝的用户体验。
在 BNB 链上开发 Telegram mini-dApps 简化了流程,减少了对 TON 钱包和桥接的依赖。BNB 链用户可以使用自己的钱包购买虚拟资产,所有的认证、用户验证和索引服务都依赖于 Telegram 平台。
Image source: Shutterstock