一个使用签名信息用web3验证用户的简单方法
以太坊登录很快就会成为用户标准,不再需要密码,这已经不是什么新鲜事了。尽管如此,dApp开发仍然是一个相当新的赛道,其开发的许多标准仍在设定之中。现在,所有的开发者都在延续用传统做法编写dApp,本能地使用相同的JWT进行认证。我这里提出一个稍微不同的方法。我自己也开始使用JWT开发dApp。从第一个项目开始,我就觉得认证总是变得很棘手,而且在这个过程中一定有些多余的东西。在几个项目之后,我意识到JWT本身就是多余的。让我解释一下原因:
谷歌前工程师:比特币会从货币竞争者手中抢走储蓄市场 并能让人们产生储蓄的欲望:1月17日消息,谷歌前工程师Vijay Boyapati在推特上表示,一项优秀的技术不仅会从劣势的竞争对手手中抢走市场,还会壮大市场本身。比特币不仅会从货币竞争者手中抢走储蓄市场,还会大规模地壮大市场,因为它能让人们产生储蓄的欲望。[2021/1/17 16:22:52]
Aaron Choi:以太坊和非以太坊生态、中心化和去中心化的竞争关系依然明显:10月22日消息,Kava全球业务发展副总裁Aaron Choi在做客《HyperPay焦点》栏目时提及:目前DeFi的整体热度比较6、7月最火的那段时间,虽然有下降趋势,但从长远看还会是一个重要的赛道,会继续稳定地发展下去,现在以太坊和非以太坊生态、中心化和去中心化的竞争关系依然明显。关于DeFi的挑战,他认为产品采用率是关键要素。对于任何项目来说,如果没有大量的忠实用户与产品进行交互,产品的发展前景会相对受限。[2020/10/22]
这张图显示了我在前几个项目中是如何进行认证的。这里的方案几乎完全复制了JWT的标准程序,唯一的一点是,用户发送的不是登录和密码,而是签名。为什么我们需要得到JWT呢?毕竟,即使没有它,你也可以通过从用户的签名中获取地址来可靠地识别身份。下面是如何简化的:
火币矿池CEO曹飞:POW矿池竞争激烈 优势在于安全稳定:火币矿池CEO曹飞今日在媒体直播时表示,去年到今年矿池行业参与者增多,POW矿池盈利能力有所下降,价格战更为激烈。这时候就更要强调安全和稳定。即资本安全,稳定产出。这正是火币矿池的优势。火币矿池也会继续完善生态建设,加强行业上下游合作,加强创新等。[2020/3/3]
使用web3-token的认证流程用户依旧会产生一个签名,但里面有了一个过期日期,所以即便攻击者得到了这个签名,也持续不了多久。此外,签名被放在标准的授权头中,并在服务器上通过获取用户的地址和在数据库中找到用户来处理。这就是全部。你不需要在服务器上不断地更新JWT的加密密钥,所以通常来说,服务器承担了绝大部分职责。为了进一步简化这一流程,我制作了web3-token模块。要安装它,请使用以下命令。1$npmiweb3-token这个模块既可以用在服务器上,也可以用在客户端。让我们看一个例子,从客户端开始:
调用.sign方法后,你会看到与此类似的东西。
MetaMask提醒去签署令牌正如你所看到的,该信息对用户来说是完全透明的,因为他们必须看到他们正在签署的东西。因此,我决定不使用JSON结构来提高可读性,而是使用与HTTP头相同的结构。在消息的正文中,我们可以看到令牌的版本和过期日期。接下来,这里是后端对这个令牌的处理。
这很简单,只有一行,模块会处理所有加密问题。我们则可以从签名中获得用户的地址,并使用这个地址在数据库中找到他们。举个例子,然后你就可以通过他的地址授予这个用户一个NFT。最终我们得到了一个非常方便的无状态用户认证方法,这也是混合型dApp的理想选择。唯一的缺点是,它很难在Postman中测试。本文来自比推Bitpush.News,星球日报经授权转载。
Odaily星球日报译者|Moni 有时候,游戏制造商和玩家之间的差异就在一线间,不过后者打通关游戏的速度可要比前者创造游戏的速度来得快得多.
今天世界上多了一家叫Meta的公司,Meta这个词如同DNA一样简介而且野心勃勃,美国的社交互联网巨头Facebook正式改名为Meta,全平台进军元宇宙.
在过去的一年中,加密货币价格的急剧上涨导致该领域的参与者大量涌入,并出现了一些新趋势。这些趋势中最受欢迎的是不可替代代币或NFT的铸造和交易。NFT代表了人们理解价值的范式转变.
本文来自Coinbase官方博客Odaily星球日报译者|余顺遂CoinbaseVentures团队在Coinbase官方博客发布2021年第三季度总结报告.
区块链的关键在于创建一个平台和设备的全球互联网络。尽管该网络可以为我们提供便利,还能提高效率,但同时它也应该妥善结合隐私保护机制,从而维护公共利益.
这一年是1996年。约翰·佩里·巴洛(JohnPerryBarlow)即将宣布,“互联网由交易、关系和思想本身组成” 从当今网络的角度来看,有人可能会争辩说,只有巴洛声明的第一部分是正确的.