以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 幣安幣 > Info

智能合約中的OAuth和API認證_DIT:LINK

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

Chainlink和Filecoin發起聯合資助計劃,以加速混合智能合約開發:據官方公告,Chainlink宣布與Filecoin正在啟動一項聯合資助計劃,以加速混合智能合約的開發,將Chainlink去中心化Oracle和Filecoin去中心化存儲結合在一個單一應用程序中。混合智能合約利用區塊鏈(鏈上)上運行的代碼和區塊鏈(鏈下)外的數據和計算。這種雙重架構保留了區塊鏈的防篡改和不可變特性,同時通過安全的鏈下Oracle服務(如可伸縮性、機密性和與現實世界數據源或系統的連接)獲得額外的功能。

通過將Filecoin和Chainlink結合在一起,開發人員可以構建端到端去中心化的應用程序,這些應用程序具有成本效益和不可變的存儲能力,以及與外部資源的通用和安全連接。[2021/8/6 1:39:52]

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

Cardano將在Alonzo升級后利用本地Plutus語言編寫智能合約:Cardano發布了關于Plutus的更多細節,Plutus是一種本地編程語言,將在其下一次重大升級Alonzo之后用于編寫智能合約。Cardano背后公司IOHK在一篇博文中解釋稱,Plutus合約由鏈上運行的部件和鏈下在用戶設備上運行的部件組成。這兩部分實際上都是用Haskell語言編寫的,但都是由Plutus編譯(compile)的,后者為Cardano上的智能合約提供了框架。Plutus Core將用于定義EUTXO交易的參數,并編譯為智能合約開發的代碼。一個Plutus應用程序框架(PAF)將提供對運行在網絡上的服務和應用程序的便捷訪問,同時具有完整的web瀏覽器互操作性。Cardano在2月份的“Mary”升級中推出了原生代幣,允許用戶創建唯一定義的自定義代幣,并進行交易。Plutus將擴展當前代幣的能力,極大地改善鑄幣策略,這將有利于可能需要時間鎖的NFT。(Crypto Potato)[2021/4/15 20:22:21]

Messari前主管:智能合約平臺推出非美元穩定幣將有機會成為以太坊殺手:Messari前主管、股票及加密貨幣交易員Qiao Wang發推稱,智能合約平臺通過推出非美元穩定幣將有機會成為真正的以太坊殺手,由此而產生的網絡效應將是殺死ETH的唯一方法,這也是目前以太坊生態系統拼圖中明顯缺失的一塊。

王啟奧認為,推出非美元穩定幣的項目第一步可與大型交易所合作,上架以該穩定幣計價的交易對,而投機是分發新加密產品的最佳方法,一旦分布廣泛,DeFi、匯款和國際付款之類的事情就會自然發生。[2020/7/6]

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

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

動態 | 西班牙UEMC大學學生獲智能合約平臺RSK頒發的區塊鏈證書:西班牙UEMC大學攻讀應用區塊鏈碩士學位的學生現可獲得同一門課程的兩項證書,分別由學校和區塊鏈智能合約平臺RSK頒發。(Cointelegraph)[2019/10/13]

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

動態 | 幣安實驗室向智能合約驗證平臺CertiK投資數百萬美元:據Coindesk消息,幣安實驗室近日向智能合約驗證平臺CertiK投資,投資額達數百萬美元。據悉,CertiK為初創型企業,其中兩名創始人分別來自美國的耶魯大學和哥倫比亞大學。[2018/10/8]

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

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

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

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

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

Tags:AUTHDITREDLINKAuthencityPitquidity-BSCRedFOX LabsShibaLink

幣安幣
聚合器的終點在哪?即將發幣的OpenOcean給出答案_OCEAN:ENO

聚合器已成為DeFi樂高之內不可或缺的一大板塊。與借貸、去中心化交易等場景清晰的基礎業務不同,“聚合器”這一概念乍聽起來稍顯硬核,市場也未就此類項目給出足夠清晰、垂直的劃分.

1900/1/1 0:00:00
觀點丨NFT碎片化如何改進社交代幣?_BFI:filecoin幣價估值

在前面的文章「NFT的玩法指南」中,我們提到新手參與NFT投資,除了直接買入NFT資產之外,還有一種比較冷門的途徑,那就是投資NFT的部分所有權代幣,比如NIFTEX的ShardedNFT.

1900/1/1 0:00:00
六大 NFT 交易平臺簡析(一)——誰會最有潛力?_ARI:玩區塊鏈的都是什么人群

區塊鏈技術的出現有機會深刻改變人類生活。NFT概念的火爆讓區塊鏈常年高喊的落地應用口號變成現實。當下社會,物理存在、虛擬身份和數字實體之間的關系變得更加分散和普及.

1900/1/1 0:00:00
數據大爆炸時代:分布式網絡使命幾何?_ENS:BOpenSea

編者按:本文來自鏈新,作者:StephanieSo,Odaily星球日報經授權轉載。當涉及到計算機的數據存儲時,我們似乎快要將數字用完了!如果你年齡稍長,你可能會記得上世紀80年代磁盤存儲是千字.

1900/1/1 0:00:00
炒幣教父4.1:數字人民幣背后的醞釀究竟是為何?_區塊鏈:我有10個比特幣怎么賣掉

消息面:1、據深圳特區報消息,3月30日,為落實國家“十四五”規劃提出的“穩妥推進數字貨幣研發”部署,深圳市人民政府和人民銀行深圳市中心支行周密謀劃、積極作為,指導羅湖區人民政府.

1900/1/1 0:00:00
Uniswap V3正式官宣,最新功能一覽_DAI:ADAI價格

編者按:本文來自Blockunicorn,翻譯:BlockUincornUniswapv1于2018年11月推出,旨在為自動做市商提供概念驗證.

1900/1/1 0:00:00
ads