原文标题:《一文读懂 WalletConnect》
文章概览
-
WalletConnect 精干什么
-
WalletConnect 的市场支撑状况
-
WalletConnect 音讯通讯工作原理
-
WalletConnect 音讯安全怎么保障
-
WalletConnect 怎么快速接入推送
01 WalletConnect 精干什么
它是⼀个基于⼆维码树立衔接的根底通讯设备。你能够在它的根底上去建⽴各种交互,它默许的交互协议都是与以太坊的交互。当然你也能够做能够想象到的各种事,能够不只局限于 Dapp 通讯交互,假如你把默许的以太坊协议改掉,也意味着你将与其他⽀持 WalletConnect 钱包、Dapp 脱离关系,互不兼容。
现在呈现了许多针对电脑这种大屏幕的 Dapp 应用,在 WalletConnect 没有呈现之前,必须运用Chrome 插件或者桌面端钱包来授权操作,这让本来运用移动端钱包的用户操作和运用习惯呈现了割裂感,还需另外操作下载插件或钱包,再将私钥导⼊进去,很费事。
02 WalletConnect 的市场支撑状况
最近较为常见的钱包都在支撑,比如:
-
imToken
-
TokenPocket
-
麦子钱包
-
Trust Wallet
03 WalletConnect 音讯通讯工作原理
//WalletConnect 树立衔接原理
Topic 名词解释:文本意思为“主题”,在 WalletConnect 中钱包端与 Dapp 端各有⼀个 Topic 主题,让对方订阅,这样就形成了⼀个能够彼此通信的通道。
-
Dapp 端与中继服务器树立 Socket 衔接;
-
Dapp 端⽣成 Dapp ClientID(监听该 Topic 会得到发送给 Dapp 的音讯),Dapp Topic(监听该Topic 会得到 Dapp 宣布的登陆恳求),并订阅 Dapp ClientID;
-
Dapp 端向中继服务器发送 Topic 为 Dapp Topic 的信息,并携带 Dapp ClientID 信息;
-
Dapp 端展示⼆维码包括 Dapp Topic 信息,中继服务器的地址,暗码;
-
钱包端扫描 Dapp 端的⼆维码,解析出⼆维码信息获得 Dapp Topic,中继服务器地址,暗码;
-
钱包端与中继服务器树立socket 衔接,然后产生 Wallet PeerID(监听该 Topic 能够获得发送给钱包端的音讯),并订阅 Dapp Topic 和 Wallet PeerID ;
-
接下来钱包端将接纳到中继服务器转发过来的 Dapp 的登陆恳求;
-
钱包端处理是否赞同 Dapp 的登陆,发送 Topic 为 Dapp ClientID 的音讯,并把处理结果和Wallet PeerID 的信息传递回去;
-
此时衔接树立成功,假如「Dapp」想给「钱包端」发送音讯,则发送 Topic 为 Wallet PeerID 的信息即可;
-
假如「钱包端」想给「Dapp」发送音讯,则发送 Topic 为 Dapp ClientID 的信息即可。
钱包端 Topic 和 Dapp 端 Topic 两方一起组成了 Session。WalletConnect 的 Session 生命周期才是 Dapp 与钱包两边树立的衔接的生命周期,WebSocket 仅仅它的“通讯⼯具”,WebSocket 的断开不代表此次与钱包的衔接断开。
04 WalletConnect 通讯工作原理
-
WalletConnect 仅仅⼀套通讯协议,双⽅通信什么信息都能够;
-
WalletConnect 默许经过 WebHook 的⽅式来⽀持推送服务,你能够在⼿机 App 没有打开的状况下来告诉⽤户处理信息;
-
假如有⼀方 A 断开 Socket 衔接,另⼀⽅ B 发送音讯会暂存在中继服务中,当下⼀次 A 与中继服务器建⽴ Socket 衔接,并订阅相关的 Topic,才会将中继服务暂存的音讯发送给 A。
05 WalletConnect 音讯安全怎么保障
-
运用 AES-256 对称加密来加密通讯的信息,HMAC-SHA256 做 Hash 签名;
-
Dapp 端⽣成的⼆维码中包括对称加密的暗码,⼿机端扫描该⼆维码获得暗码,所以 Dapp ⼆维码不会过网传递。
06 WalletConnect 怎么快速接入推送
//底层做支撑的技能 WebHook
-
WebHook 是⼀种 HTTP 回调:某些条件下触发的 HTTP POST 恳求;
-
WalletConnect 的中继服务中也有这个承受 WebHook URL 的 API 接⼝;
-
WalletConnect 独自供给了 Firebase 推送服务。
-
音讯接纳方将⼀个 URL 和想接纳的音讯发送给音讯发送⽅;
-
音讯发送方达到⼀定的条件,就会去调⽤ 音讯接纳⽅的 URL,来告诉音讯接纳方接纳音讯。
//WalletConnect 推送使⽤流程
-
⼿机端收到 Dapp 的登陆恳求,⼿机端假如赞同登陆恳求,能够使⽤ Topic Dapp ClientID 和Firebase ID 向「推送服务」订阅音讯;
-
「推送服务」收到 Topic 会继续向「中继服务」发送 WebHook 订阅 Topic;
-
假如「中继服务器」发现「推送服务」订阅的 Topic 有信息,它就会告诉「推送服务」;
-
「推送服务」找到订阅相关 Topic 的 fitebase ID 发起推送。
07 总结
WalletConnect 是⼀种经过扫描 QR 码使⽤端到端加密技能将桌⾯ DApp 衔接到移动设备的开放性协议。它敞开了整个从前只要Metamask 钱包可⽤的 DApps 国际。⽤户能够在不损害其私钥安全的状况下与任何 DApp 交互,并能在其移动设备上收到告诉,签字赞同任何交易恳求。
视野开拓
投资驱动单个公司以及整个市场的均值回归。亚利桑那大学的一个研究者王明,在大多数发达国家(美国、欧洲、澳大利亚和远东)中,公司投资是整体能力、股票市场回报,甚至GDP增长的一个显著反向指标。例如,在20世纪90年代末的美国股票市场泡沫中,投资占GDP的比例超过了长期平均水平在泡沫破裂以及在繁荣年代的资本配置错误显现出来后,总投资和盈利都下降了,美国经济进入了衰退。 所有这些都表明,资产配置者应该把市值和资本周期结合起来看。通常情况下,两者齐头并进。但最近几年,美国股票市场的情况却令人费解。2010年起,美国股票从估值方面(例如,周期调整的市盈率)看起来较贵,在很大程度上是因为目前的利润超过平均水平(译者注:因而用股价除以长期平均利润得到的周期调整的市盈率显得较高)。然而,金融危机之后美国公司的投资却是毫无起色。由于缺了这个均值回归的主要驱动因子,利润停留在高位比预想得更久美国股票市场也获得了非常好的回报0。中国提供了正好相反的例子:股价常常从价值角度看显得便宜,但投资和资产増长却一直处于高位,这导致了公司较差的盈利能力。-《资本回报·穿越资本周期的投资》