现在很多团队都会来问我, 说是要让项目支持imToken登录, 这个东西到底难不难, 还有说需要花费多少时间。从根本上来讲, 核心工作其实就是对接一套web3 provider, 好把用户的钱包给连接进来。
虽然看起来简单, 但是真的去动手实践了之后才会知道, 里面存在着很多的坑, 我在这里把我自己亲身踩过的这些坑都给写下来了。
imToken钱包怎么上线
技术层面其实并没有多难, 核心的要点就在于去引入 ethers.js 或者 web3.js, 然后借由 WalletConnect 或者说 window.ethereum 来建立连接。
imToken 这个家伙本身是支持 EIP-1193 标准的,对于那些 React、Vue 项目来说基本上也就是开箱即用, 差不多半天的时间就能把 demo 给跑通了。
但是在实际的部署环节里, 把测试网的主链切换过去这个步骤是最容易发生问题的。imToken里面的那套_rpc_配置的方法, 它跟_MetaMask_是不完全一样的, 所以这里面涉及的链的标识以及那个链的名字就必须得要严格的一一对应。
只要缺少了任何一个部分的设置, 那么使用的人那边就会直接导致链接不上去。而且, 在日志信息当中, 往往也不会显示出特别明显的错误提示, 这使得人们在进行排查工作的时候, 感到非常痛苦和折磨。
上线imToken钱包难在哪
最令团队感到头痛不已的问题是多链兼容这件事。
目前imToken已经支持多达几十条区块链网络, 当一个项目方需要进行跨链操作的时候, 他们每增加一条新的区块链, 就必须进行单独的配置工作, 这些配置包含了远程过程调用接口、图标资源以及显示名称, 倘若在这之中出现任何一个环节的遗漏, 用户终端就会直接弹出“不支持的链”这行提示文字, 这就导致了整体用户体验非常糟糕, 也就是俗称的体验很差劲, 与此同时针对该问题的客户投诉数量会瞬间飙升, 并且所有的客诉压力都会直接传导到你的身上让你处理。
还有一个隐性的成本, 这个点没有多少人会去提起。imToken这个产品的迭代速度是非常频繁的。在某一次版本进行升级的时候, 它悄悄地修改了provider这个接口返回的数据结构。这一改动直接导致线上出现了白屏的情况。
我自己是有过实际经历的, 为了排查这个问题, 前后耗费了两天的时间才最终定位到根源, 发现是他们的SDK发生了变更。在这种情况下, 我们项目方这边是完全不清楚他们内部有变动的, 所以处于一种完全被动的状态, 只能够被迫去进行适配工作。
那个入门的难度其实并不大, 但是呢项目的细节部分就完全决定了最终的成败。只有当测试环境当中的运行状况变得扎实可靠了, 那么在上线的过程之中基本上就是顺理成章并且自然而然的了。

转载请注明出处:imtoken官网,如有疑问,请联系(imtoken官方app)。
本文地址:https://m.tszyjy.cn/tzgg/9466.html
