四个层级中的每一个都应允许用户灵活地选择产品,而每个层级都应由产品提供者提供定制化的积木。 这里有很多东西可以深挖,所以我们先快速回顾下密码学货币钱包的历史,以便更好地理解这些积木,以及我们今天所用的先进钱包服务是如何得来的。 以太坊钱包简史第一个以太坊钱包的灵感来自 Bitcoin Qt 钱包,是由 Mist 团队做出来的。 图片来源 Mist 钱包看起来跟 Qt 非常像,都是一个需要下载的软件,然后可以导出交易数据,也支持 区块同步 / 区块浏览: 图片来源 这个钱包其实是想把一个以太坊节点能够做到的事情都装进一个软件里 —— 那就需要安装大量依赖,整体的用户体验也不好。到 2016 年,MetaMask 出现,是最早的基于浏览器的钱包之一。自此,dApp 可以从钱包中解耦出来,只需嵌入钱包的连接方式即可。这一点随着生态系统的成长变得非常重要,因为此前单个团队想跟踪所有 EIP 的进展和发展出来的 token/ 协议 是非常困难的(现在也仍然如此)。我想指出的是,虽然这增加了 dApp 产品的可组合性,这_还不是_上面的 「通道积木示意图」 中所指的_钱包内_的智能合约集成。这一部分一直到新的集成方式如 WalletConnect 出现之后才有所改变。 钱包连接方式嵌入示例 这样一来,钱包的一些责任和负担就移除了,现在它的重点变成了交易构建、签名以及维持与区块链的连接。我不想深究细节,但交易构建意味着要从 dApp 处接收一些交易参数、并且其它参数要保证完全在钱包控制之下。这使我们走向了对钱包(也可称为 「提供者」)可用的 RPC 调用,最早由 EIP-1193 定义。dApp 可以发送一些参数如目标地址、数据、gas limit/price、数值给钱包,但_无法_控制链 ID、发送者地址以及 nonce 等涉及钱包安全的参数。 有了这种新型钱包之后,我们又多了两种复杂的用户体验:
为了解决第一点,ENS 在 2016/2017 年月 EIP-137 一起推出,成为了我们的第一块社交积木。现在,大家都可以用一个网站域名来表示自己的以太坊地址(比如 vitalik.eth),在 消息 / 转账 中使用即可免去输入长长的地址。这只是社交智能合约层的一部分;其余部分要花更大的精力来 解耦 / 实现可组合性。 (责任编辑:admin) |