比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > DAI > Info

AUTH:智能合約中的OAuth和API認證_Sandwich Network

Author:

Time: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

Decentraland安全報告:已修復LAND智能合約嚴重漏洞,將持續打擊IP侵權行為:5月4日消息,元宇宙項目Decentraland發布安全報告,報告顯示一名安全研究人員曾于3月發現了LAND智能合約的一個嚴重漏洞,該漏洞允許任何人在未經LAND所有者許可的情況下轉讓LAND,Decentraland在確認后的兩小時內修復了漏洞并對LAND智能合約進行了兩次額外的審計。

此外,Decentraland基金會表示其在過去的幾個月中分析了881個網站頁面、400個域名、399個移動和桌面應用程序以及1187個社交媒體列表,成功刪除了侵權的2個網站、24個域名和5個社交媒體帳戶。[2022/5/4 2:48:57]

外部適配器可以實現在Solidity智能合約中完成OAuth認證,我們在開發外部適配器時,首先要決定是自己親自開發OAuthhandler還是試用別人開發的handler。OAuthhandler是指一段代碼,讓我們可以輕松處理登入和登出。絕大多數情況下,如果已經有現成的解決方案,我們就不必重復勞動了。一些平臺已經采用了OAuth認證,你一般可以找到現成的OAuthhandler。比如,我們找到了這個非常好用的Reddithandler,我們可以運行代碼查看其功能。這里有兩個主要的函數:async_getToken()以及_makeRequest(method,url,data,token)_getToken()函數的作用是獲取通證,_makeRequest函數的作用是向RedditURL發送最終認證請求以及通證。在這個實現中,這兩個函數可以被_sendRequest一起調用。我們可以看到_getToken()函數實際上是通過基礎認證方式與第三方交互的。

Gelato推出Web3多鏈智能合約自動化執行工具Gelato Ops:11月19日消息,以太坊智能合約自動執行工具Gelato Network宣布推出Web3多鏈智能合約自動化執行工具Gelato Ops,Gelato Ops將在以太坊、Polygon、Fantom和Arbitrum上線,未來支持更多網絡。開發者可使用Gelato Ops在大多數基于EVM的區塊鏈上自動執行任意任務,付款可以使用ETH、MATIC或FTM,之后將支持DAI或USDC。[2021/11/19 22:04:15]

_makeRequest()函數使用的是通證而不是密碼。

Clarity智能合約將從Chainlink Oracle獲取數據:金色財經報道,Algorand和Blockstack PBC的聯合智能合約語言Clarity將能夠從Chainlink的oracle網絡獲取數據。在整合后,Chainlink的oracle將把數據饋入Clarity的跨區塊鏈智能合約,首先將包括實時價格點。Blockstack在一份新聞稿中表示,其用戶“不久的將來”將能夠訪問整個Chainlink數據庫,但未提供時間表。[2020/10/1]

現成的可以拿來用,這點無可厚非,但同時我們也要理解它的運行機制,這樣當有需要的時候也能自己動手開發。現在OAuth的代碼已經都完成了,接下來就可以把外部適配器模板中的內容替換掉了!你可以隨意選擇自己喜歡的適配器,但是我們在這里用的是Chainlink外部適配器模板。如果你之前看過關于開發外部適配器的文章,那么接下來的內容應該對你來說非常簡單!我們可以把這些代碼全部復制粘貼到我們的外部適配器中,不過更好的方法是直接導入,這樣我們就可以把全部精力放在Solidity和智能合約代碼上,而不是認證環節。Reddit外部適配器

動態 | 智能合約先驅尼克·薩博:說Libra是加密貨幣 就如同說洋娃娃是嬰兒:自從Facebook的加密貨幣Libra公布以來,業內關于Libra到底是什么一直有著激烈的爭論。由于白皮書中使用了“加密貨幣”一詞來定義Libra,很多業內人士也如此認為。 然而,也有一些人公開反對Libra聲稱自己是一種真正的加密貨幣的說法,其中包括智能合約先驅尼克·薩博(Nick Szabo)。他今日在推特上回復網友問題“Libra是一種加密貨幣嗎?”時表示,說Libra是加密貨幣,就如同說洋娃娃是嬰兒一樣。[2019/9/14]

現在OAuthhandler設置好了,我們可以把它添加到我們的Chainlink外部適配器中,方法跟其他Chainlink適配器完全一樣。我們可以將適配器添加到列表中,然后使用OAuth認證開展任何所需的計算任務。如果仔細研究Reddit外部適配器的代碼,可以看到開發框架跟index.js中的完全一樣。與上一篇關于外部適配器的文章一樣,我們也只需更新index.js中的代碼。最大的不同點是我們在這里安裝了一個新的包,即Reddit包,代碼如下:constReddit=require('reddit')我們所有的身份認證信息都可以這樣添加:

動態 | 智能合同審計公司Quantstamp推出新的區塊鏈安全協議:據The Innovation Enterprise 9月3日消息,Quantstamp已經發布了它的betanet協議,現在可以通過Ethereum net進行實時訪問。Quantstamp將為Ethereum用戶提供可公開驗證的智能合同審計服務。以前,用戶必須相信智能合約開發人員事先已采取必要的安全預防措施,并且無法自行驗證。Quantstamp betanet協議現在允許用戶使用QSP令牌來驗證其代碼可靠性,從而為他們提供可驗證的合同記錄,任何人都可以公開訪問該記錄。[2018/9/3]

一旦你在Reddit網站創建了一個APP,就會獲得REDDIT_API_KEY和REDDIT_API_SECRET,并用于適配器中。我們可以利用外部適配器的許多參數來定制化智能合約發送到Reddit的內容。

這些定制化參數都可以在RedditAPI文檔中找到。我們對模板還做了一個比較大的修改,那就是我們沒有用Requester對象發送請求,而是使用了Reddit對象,代碼如下:

代碼寫完以后可以來測試一下!設置四個環境變量,然后運行以下代碼:

打開另外一個終端,用以下命令進行測試:

你在輸出中就可以看到在Reddit上發布的內容了!如果有時間,你還可以查看TwitterChainlink外部適配器,并根據智能合約的交互情況發布Twitter狀態。以上就是使用OAuth和Reddit外部適配器與智能合約交互的第一步。你需要使用一個安裝了外部適配器的節點,并在節點中設置身份認證信息。歡迎大家查看Chainlink文檔?,了解如何進行下一步操作。如果你使用OAuth在智能合約中開發出了有趣的應用,請上傳至market.link?,幫助其他人也實現智能合約與鏈下世界交互。除此之外,你還可以展示你個人的智能合約開發實力。如果你是一名開發者,并希望快速將智能合約連接至鏈下數據和系統,請查看?我們的開發者文檔并加入我們在?Discord上的技術討論群。如果你希望透過電話具體討論集成細節,請點擊此處聯系我們。

Tags:AUTHDITANDREDAuthoreonUnited Credit ChainSandwich NetworkRed Pill Coin

DAI
OIN:Gitcoin第九輪有哪些開發者懸賞計劃?_gitcoin幣為什么不漲

編者按:本文來自鏈聞ChainNews,撰文:LeftOfCenter,星球日報經授權發布。開源軟件和社區捐助平臺Gitcoin已正式開啟第9輪捐助活動,在為期2周的時間里,用戶可自行選擇為平臺.

1900/1/1 0:00:00
ADE:Deribit期權市場播報0406—— 市場平靜_TAD

播報數據由Greeks.live和Skew.com提供。比特幣在60000美元下方已經橫盤一周,成交量也在不斷走低,期權的IV持續維持在年內低點;以太坊略強勢一些,市場整體比較平靜.

1900/1/1 0:00:00
PEN:OpenOcean.Finance——首個連接DeFi和CeFi生態的全聚合協議_OpenDAO

本文來自:OpenOcean官方Medium,星球日報經授權轉發。 OpenOcean作為首個聚合DeFi和CeFi流動性的全聚合協議,提供了加密世界的入口.

1900/1/1 0:00:00
KEX:歐易OKEx研究院:美債收益率上漲對比特幣的影響_比特幣

近期美債收益率上行速度大幅加快,1月初,美債收益率突破1.0%,2月25日,美債收益率更是突破1.5%,不到一個月上升了50BP,引起市場震動.

1900/1/1 0:00:00
比特幣:普通人投資加密貨幣的捷徑_以太坊

在我看來,目前經過時間和牛熊周期的檢驗,并且長線看又很有價值的還真的只有這兩個幣。比特幣是基于區塊鏈技術的數字貨幣始祖,它的共識是所有數字貨幣中最高的,這一點恐怕任何其它數字貨幣都無法比擬,因此.

1900/1/1 0:00:00
USD:解密USDT出現高溢價的原因:老玩家換U挖礦,新人入場_AUSDT價格

吳說作者|談叔本期編輯|ColinWu近些天來,在許多交易所的場外交易平臺,USDT兌換人民幣的價格出現了溢價,以貨幣為例,4月4日,火幣OTC上USDT的價格達到了6.79元.

1900/1/1 0:00:00
ads