木星链 木星链
Ctrl+D收藏木星链
首页 > KuCoin > 正文

AUTH:智能合约中的OAuth和API认证

作者:

时间:1900/1/1 0:00:00

OAuth是主流的API认证和授权方式,用户无须暴露其身份信息即可访问各种网站和应用。乍一看,我们似乎很难从OAuth这样的链下Web2服务中获取数据并上传至链上智能合约。然而,有了Chainlink外部适配器?,就可以在链下展开复杂的运算,这与基于OAuth的API认证无任何差异。接入外部适配器后,就可以使用OAuth访问更多安全的链下数据源,并轻松实现与链上智能合约的交互。我们可以从Solidity或其他智能合约中调用这些安全的API,访问各种服务并同时保障安全。本文将为大家分步骤展示Reddit外部适配器。OAuth是什么?

你上网的时候通常需要证明自己的身份。最简单的证明方式是使用用户名和密码,这也被称为密码认证或基础认证。然而,还有一种方式也可以证明我们的真实身份,那就是让别人来为我们做担保。这就是OAuth的工作原理,它是一种第三方通证认证,即其中一方为另一方做认证。OAuth的运行机制是,双方委托第三方通过数字通证的方式证明其中一方的身份。以下这个例子可以简明扼要地概括其精髓:Bob希望从Alice手中获取数据,但不希望把密码交给Alice或暴露自己的身份信息。Bob和Alice有个共同的朋友,Margaret。Margaret跟Bob说她可以给他发一个临时通证,Bob可以用这个通证向Alice获取数据,Alice不需要知道Bob叫什么名字,也不需要获得任何Bob的个人信息。Alice只知道请求数据的人是可以相信的。Margaret借给Bob一个通证从Alice那获取数据,这有点类似你把酒店房卡借给别人。一旦在系统中添加了OAuth,就多出了一个步骤,即访问所需的数据,因为你得先等待可信第三方响应才能继续下去。基础认证只需输入密码就可以,而OAuth认证则需等待从第三方获得通证。我们都知道,以太坊等区块链的流程是同步执行的,也就是说这类区块链只能同时做一件事,因此等待通证获得API响应的过程就会显得有点笨重。另外,Solidity需要等待通证传回才能调用新的API,这也会造成gas浪费。有一个好办法可以解决这个问题,那就是使用Chainlink外部适配器统一访问链下数据源,这不仅可以加速智能合约的OAuth认证,还可以降低gas成本。在Nodejs中使用OAuth

Espresso Systems在测试网上线以太坊可配置资产隐私(CAPE)智能合约应用:6月16日消息,Web3应用扩展和隐私系统Espresso Systems在以太坊Goeril测试网中推出隐私产品CAPE,允许资产创建者定义可定制的隐私策略,以确定在某些情况下谁可以看到有关资产持有者和交易的哪些信息。3月份,Espresso Systems完成3200万美元融资,Greylock Partners和Electric Capital领投,参投方包括红杉资本、Blockchain Capital和Slow Ventures。Espresso Systems正在开发Layer1区块链基础设施,通过PoS共识机制协议与ZKRollup机制来实现快速、低成本的交易。(CoinDesk)[2022/6/17 4:33:20]

外部适配器可以实现在Solidity智能合约中完成OAuth认证,我们在开发外部适配器时,首先要决定是自己亲自开发OAuthhandler还是试用别人开发的handler。OAuthhandler是指一段代码,让我们可以轻松处理登入和登出。绝大多数情况下,如果已经有现成的解决方案,我们就不必重复劳动了。一些平台已经采用了OAuth认证,你一般可以找到现成的OAuthhandler。比如,我们找到了这个非常好用的Reddithandler,我们可以运行代码查看其功能。这里有两个主要的函数:async_getToken()以及_makeRequest(method,url,data,token)_getToken()函数的作用是获取通证,_makeRequest函数的作用是向RedditURL发送最终认证请求以及通证。在这个实现中,这两个函数可以被_sendRequest一起调用。我们可以看到_getToken()函数实际上是通过基础认证方式与第三方交互的。

以太坊隐私交易平台Tornado.cash完全去信任化,智能合约将不可再被修改:以太坊隐私交易平台Tornado.cash今日发布博客宣布已完成去信任化操作。该平台已将操作符地址设置为0x000000000000000000000000000000000000(0.1 ETH, 1 ETH, 10 ETH 以及 100 ETH),因此从现在开始所有的Tornado.cash合约均已无法变更。

团队表示,这也意味着对于Tornado.cash 来说,将很大程度开始遵循代码即法律的戒律。Tornado.cash智能合约在以太坊上运行,社区可以决定是否使用其工具。只要以太坊本身没有被更改或者消失,那么就没有人可以修改Tornado.cash的智能合约。而团队也提到,完全去信任化之后,Tornado.cash 团队也不能再像以前那样保护用户免受bug的侵害。除了从智能合约端完成了去中心化操作之外,Tornado.cash还对用户界面和站点进行了去中心化,他们使用了IPFS部署UI。[2020/5/21]

声音 | 普华集团王继辉:明年数字身份将广泛应用,智能合约将在技术应用特征上进一步凸显:近日,“2019 区块链技术和产业创新发展大会”在青岛国际会议中心举办。对于行业未来的发展,普华集团副总裁、首席技术官王继辉先生表示,2020年,智能合约作为区块链底层技术发展最快、最有应用前景的部分,将在技术应用特征上进一步凸显,主要表现为面向服务化、合约可视化、安全前置化和合约通用化。[2019/12/30]

_makeRequest()函数使用的是通证而不是密码。

现成的可以拿来用,这点无可厚非,但同时我们也要理解它的运行机制,这样当有需要的时候也能自己动手开发。现在OAuth的代码已经都完成了,接下来就可以把外部适配器模板中的内容替换掉了!你可以随意选择自己喜欢的适配器,但是我们在这里用的是Chainlink外部适配器模板。如果你之前看过关于开发外部适配器的文章,那么接下来的内容应该对你来说非常简单!我们可以把这些代码全部复制粘贴到我们的外部适配器中,不过更好的方法是直接导入,这样我们就可以把全部精力放在Solidity和智能合约代码上,而不是认证环节。Reddit外部适配器

动态 | TRON-IDE编译工具支持开发者完成智能合约的编译及部署工作:据官方最新消息,TRON-IDE编译工具已经可以支持开发者简易快捷的完成智能合约的编译及部署工作。TRON-IDE是一款基于波场TRON公链开发供开发者使用的智能合约编译工具,经过多个版本迭代和不间断的灰度发布,到目前为止,TRON-IDE已经达到面向全量用户发布的标准,可以支持开发者简易快捷的完成智能合约的编译及部署工作。[2019/12/19]

现在OAuthhandler设置好了,我们可以把它添加到我们的Chainlink外部适配器中,方法跟其他Chainlink适配器完全一样。我们可以将适配器添加到列表中,然后使用OAuth认证开展任何所需的计算任务。如果仔细研究Reddit外部适配器的代码,可以看到开发框架跟index.js中的完全一样。与上一篇关于外部适配器的文章一样,我们也只需更新index.js中的代码。最大的不同点是我们在这里安装了一个新的包,即Reddit包,代码如下:constReddit=require('reddit')我们所有的身份认证信息都可以这样添加:

动态 | 智能合约先驱尼克·萨博:说Libra是加密货币 就如同说洋娃娃是婴儿:自从Facebook的加密货币Libra公布以来,业内关于Libra到底是什么一直有着激烈的争论。由于白皮书中使用了“加密货币”一词来定义Libra,很多业内人士也如此认为。 然而,也有一些人公开反对Libra声称自己是一种真正的加密货币的说法,其中包括智能合约先驱尼克·萨博(Nick Szabo)。他今日在推特上回复网友问题“Libra是一种加密货币吗?”时表示,说Libra是加密货币,就如同说洋娃娃是婴儿一样。[2019/9/14]

一旦你在Reddit网站创建了一个APP,就会获得REDDIT_API_KEY和REDDIT_API_SECRET,并用于适配器中。我们可以利用外部适配器的许多参数来定制化智能合约发送到Reddit的内容。

这些定制化参数都可以在RedditAPI文档中找到。我们对模板还做了一个比较大的修改,那就是我们没有用Requester对象发送请求,而是使用了Reddit对象,代码如下:

代码写完以后可以来测试一下!设置四个环境变量,然后运行以下代码:

打开另外一个终端,用以下命令进行测试:

你在输出中就可以看到在Reddit上发布的内容了!如果有时间,你还可以查看TwitterChainlink外部适配器,并根据智能合约的交互情况发布Twitter状态。以上就是使用OAuth和Reddit外部适配器与智能合约交互的第一步。你需要使用一个安装了外部适配器的节点,并在节点中设置身份认证信息。欢迎大家查看Chainlink文档?,了解如何进行下一步操作。如果你使用OAuth在智能合约中开发出了有趣的应用,请上传至market.link?,帮助其他人也实现智能合约与链下世界交互。除此之外,你还可以展示你个人的智能合约开发实力。如果你是一名开发者,并希望快速将智能合约连接至链下数据和系统,请查看?我们的开发者文档并加入我们在?Discord上的技术讨论群。如果你希望透过电话具体讨论集成细节,请点击此处联系我们。

标签:AUTHDITREDAPIAUTH币DITTO币Maya Preferred 223apix币创始人

KuCoin热门资讯
比特币:全球主权基金开始布局比特币

在前阵子的文章中,我写过华尔街重量级投资家霍华德·马克思近来改变了对比特币的负面看法。近日又传出一家重量级基金开始涉入比特币,这就是由金融大鳄乔治·索罗斯创立的投资基金---索罗斯基金管理公司.

1900/1/1 0:00:00
加密货币:多家华尔街机构成立加密货币理事会,主要目的是对抗监管

进入2021年以来,来自全世界各地的顶尖公司都开始和比特币有了千丝万缕的联系,可以看到部分公司将比特币作为公司的资产配置,部分传统金融公司开通比特币投资服务,这些公司有了共同点.

1900/1/1 0:00:00
GAS:一文读懂以太坊的Gas费用和EIP-1559提案

近几个月来,以太坊的采用率以前所未有的速度增长。去中心化金融继续快速增长,稳定币在全球范围内被采用,NFT也成为热点话题。以太坊的广泛使用对其长期前景而言是一个很好的信号.

1900/1/1 0:00:00
比特币:行业周报 | 韩国“泡菜溢价”跳水60%,一季度加密基金流入45亿美元

欧易OKEx情报局行业周报带你快速回顾行业动态,厘清产业动向。目录:行情概览机构与公司动态加密货币市场Polkadot/DeFi动态行业声音行情概览根据CoinGecko数据,截至2021年4月.

1900/1/1 0:00:00
ETH:Ether Cards首发「Accidental Collaboration」五层艺术品NFT

Odaily星球日报译者|Moni 对于EtherCards来说,上周真的很疯狂!首先,EtherCards为所有“钻石手”们打造了PristineStatus.

1900/1/1 0:00:00
区块链:什么样的沙盒是好的监管?

编者按:本文来自链新,作者:冯铭作为新生事物,区块链技术发展迅猛,同时也给各地带来监管挑战。放眼全球,沙盒监管成为了逐渐流行的选项.

1900/1/1 0:00:00