月亮链 月亮链
Ctrl+D收藏月亮链

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

作者:

时间: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

NBAxNFT:因智能合约问题导致提前售罄,正识别白名单中无法铸造NFT的钱包:4月21日消息,NBA旗下NBAxNFT官推特发文称:“我们认识到智能合约的问题,它导致白名单供应提前售罄。目前正在识别白名单中无法铸造NFT的钱包。”此前消息,NBA宣布4月21日推出季后赛“动态”NFT The Association,总发行量18000枚;BlockSec告警系统今早发现NBA NFT合约存在漏洞,以致非白名单用户可铸造NFT,已有攻击者铸造了多个NFT,而在之前的宣发活动中白名单用户只能免费铸造一个NFT。[2022/4/21 14:38:29]

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

Casa联合创始人评论Ocean暂停智能合约:权力下放面纱被揭开:对于Ocean Protocol(OCEAN)暂停OCEAN智能合约。加密货币托管公司Casa联合创始人兼CTO Jameson Lopp在推特表示,当“DeFi”项目对被盗资金洗白而惊慌失措时,权力下放的面纱被揭开了。[2020/9/27]

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

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

ZK Labs将对PlotX进行智能合约安全审计:调研机构CryptoDiffer发推特称,ZKLabs将在PlotX主网上线前对其进行智能合约安全审计。ZKLabs将会验证PlotX智能合约的安全性,然后将由PlotX社区开发人员重构。据此前报道,DeFi预测市场平台PlotX更新用户界面,允许用户查看包括预测接受与否、处理进程、奖励分配等各个阶段的进展,以及可以同时使用PLOT代币以及ETH来购买预测头寸,旨在为启动主网做准备。部分新的用户界面功能将很快PlotX测试版中实现,不过完整的功能将在PlotX的主网版本中实现。[2020/9/11]

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

波场与WAVES达成战略合作 将利用Gravity连接区块链智能合约语言:据官方消息,波场已与WAVES达成战略合作,Waves和TRON将一起利用Gravity来连接各自区块链的智能合约语言,即Ride和Solidity。Gravity是一个无基础代币的预言机,具有跨链通信网络。TRON和Waves正在通过Gravity建立一座桥梁,这将允许两个生态系统为两个用户群提供更多的服务。波场和Waves的生态系统计划将这一趋势扩展到其他区块链生态系统并以此为链间DeFi行业带来革命性改变。波场 TRON 以推动互联网去中心化为己任,致力于为去中心化互联网搭建基础设施。旗下的 TRON 协议是基于区块链的去中心化应用操作系统协议之一,为协议上的去中心化应用运行提供高吞吐,高扩展,高可靠性的底层公链支持。波场 TRON 还通过创新的可插拔智能合约平台为以太坊智能合约提供更好的兼容性。[2020/8/14]

动态 | 慢雾区:已修复EOS智能合约底层asset类溢出缺陷:据慢雾区消息, EOS智能合约底层asset类存在溢出缺陷,目前 EOSIO v1.1.4版本已修复该问题。如果智能合约中使用到了 asset的乘法操作,建议更新对应的代码并重新编译合约。因为像 asset这样的工具代码是静态编译进合约中的,必须重新编译才能解决其中的安全隐患。[2018/8/9]

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

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

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

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

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

标签:AUTHDITREDNFTAuthoreonDITTO价格Jared From SubwayANFT币

火币交易所热门资讯
中心化交易所:一文带你了解去中心化交易所发展历史_中心化交易所和去中心化交易所

上周三,美国最大数字货币交易所Coinbase上市,首日收盘654亿美元,超过了中国最大的券商中信证券.

1900/1/1 0:00:00
BTC:Deribit期权市场播报0417 —— 回调压力_BIT

播报数据由Greeks.live和Skew.com提供。昨天进行了本月最后一次周交割,各项指数均面临回调压力。IV继续下降,同时Put的持仓量继续上升.

1900/1/1 0:00:00
以太坊:以太坊区块空间、黑暗森林和 MEV,以及未来的新趋势_ASI

作者:GeorgiosKonstantopoulos&LeoZhang编辑:南风“一个可以自由运作的市场就像一个可以自由转动的轮子:它需要一个轴和润滑良好的轴承.

1900/1/1 0:00:00
UCC:只要78元,这可能是年轻人的第一件Gucci_比特币

编者按:本文来自爱范儿,作者:吴志奇继虚拟偶像、虚拟服装、虚拟艺术品之后,虚拟运动鞋也来了。最近,奢侈品牌Gucci发布了他们的首款数字虚拟运动鞋:GucciVirtual25.

1900/1/1 0:00:00
比特币:加密货币市值格局悄然发生变化,比特币占比跌破50%_DefiDollar DAO

最近比特币的市值占比变化越发引起市场的关注,根据非小号的数据,目前全网总市值是来到了2.22万亿美元,而BTC的市值是来到了1.09万亿,当前BTC的市值占比为49%.

1900/1/1 0:00:00
PPL:Ripple案最新进展:期待和解,也直指美国有“落后的风险”_cple币价格以后会涨价吗

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报 近期,Ripple首席执行官BradGarlinghouse做客彭博社与CNN,回应Ripple案最新进展,这也是其为数不多的对外发声.

1900/1/1 0:00:00