買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 幣贏 > Info

CHA:智能合約中的OAuth和API認證_Ethsidechain

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

新加坡正試點帶智能合約功能的數字新加坡元:金色財經報道,新加坡星展銀行與新加坡政府技術團隊Open Government Products合作試點了基于數字新加坡元在區塊鏈上發行代金券。該試點是新加坡金融管理局領導的Project Orchid的一部分,該計劃旨在實現可編程的數字新加坡元。

星展銀行將發行數字新加坡元,而Open Government Products團隊將開發智能合約功能。[2022/10/31 12:01:11]

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

BHEX Chain發布智能合約回購所有流通的ERC20-HBC:據官方消息,由于BHEX的業務清退,為了保障所有HBC持有者的利益,BHEX Chain團隊發布了用于ERC20-HBC 回購的智能合約用于回購用戶持有的全部HBC。BHEX Chain團隊已經在該智能合約里存入了9,354,000 USDT,合約代碼規定,這些USDT永遠無法被回購合約創建人直接提現取出,只能用于回購當前市場上全部流通的3,118,000 HBC,用戶可以隨時通過DAPP頁面參與回購。回購合約在收到用戶轉入的HBC后,會自動按照3 USDT/HBC 的價格,按收到的HBC數量計算回購可兌換USDT金額,并將對應價值的USDT直接轉賬到用戶操作HBC轉賬的錢包地址,同時合約收到的HBC將會被自動銷毀。

BHEX Chain主鏈代HBC代幣的持有者,可以通過Metamask錢包連接BHEX Chain或者通過BHEX Chain的跨鏈錢包,跨鏈提取ERC20-HBC到以太坊網絡參與回購。注:請不要直接從錢包或者交易所向合約轉賬,否則用戶無法接收到USDT。更多詳情見原文鏈接。[2021/12/29 8:11:32]

Nervos和Cardano合作發起旨在改善智能合約安全性的研究計劃:金色財經報道,公共鏈項目Nervos和Cardano聯合發起了一項研究計劃,以通過改善未花費交易輸出(UTXO)來增強智能合約的安全性。Nervos和Cardano背后的開發團隊IOHK將共同撰寫有關如何改善UTXO模型、開源未來發展以及探索創建通用會計方法標準的研究論文。[2020/12/15 15:18:06]

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

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

動態 | Blockstream開發人員公布一種可以幫助編寫比特幣智能合約代碼的腳本語言:據Decrypt.co消息,Blockstream Research的開發人員Peter Wuille、Andrew Poelstra和Sanket Sanjalkar近日公布了一種新的腳本語言minicript,可以幫助編寫比特幣智能合約代碼,同時防止意外漏洞的發生。通過該語言,開發人員可以更容易地指定使用比特幣的條件。目前比特幣的開發語言已經可以做到這一點,但開發團隊表示,目前整個過程過于復雜。minicript應該可以減少開發人員導致bug的可能性。[2019/8/22]

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

聲音 | 蔡維德:智能合約在資產上鏈后會成為重要工具:北京航空航天大學數字社會與區塊鏈實驗室蔡維德教授發文表示,智能合約在資產上鏈后會成為重要工具,如果要買或是賣資產,智能合約可能是許多人選擇的工具。所以智能合約的合法性,安全性,可靠性會非常重要。他表示智能合約有三大坑,分別是沒有法律的支持、把法規放進智能合約和把合同文本直接翻譯成智能合約的代碼語言。[2019/1/18]

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

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

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

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

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

Tags:AUTHDITREDCHAAuthencityRadditarium NetworkREDDOGEEthsidechain

幣贏
穩定幣:上線4天一路跌至0.77美元的算法穩定幣Fei,究竟怎么了?_OIN

4月4日,算法穩定幣Fei項目的創世期結束。據項目官網顯示,為期三天的募資活動共籌集到了價值9.6億美元的ETH,數額驚人.

1900/1/1 0:00:00
比特幣:2021全球區塊鏈+數字文創NFT產業發展大會_NFT

由中共成都市郫都區委、成都市郫都區人民政府主辦,成都市郫都區影視城管委會、成都市郫都區投促局、成都市郫都區新經濟科技局、四川傳媒學院、成都法雅數字科技有限公司等單位承辦.

1900/1/1 0:00:00
GAS:以太坊Gas費的2個key和21個EIP_ALL

撰文:LiGas費問題是目前以太坊1.0鏈面臨最嚴重的問題之一,盡管以太坊的算力很多,但任務能力因為區塊鏈的結構問題,以太坊在處理大量任務的是時候會擁堵,擁堵后,Gas費會很高.

1900/1/1 0:00:00
THE:游戲,藝術品,碎片化,通證化,到底NFT是什么?_Thetan Arena

NFT,感覺最近半年寫了好多關于NFT的相關性文章,但是都不是很深入,都不是很專研,所以打算寫一篇,個人覺得可能或許也許比較專研一點兒的文章.

1900/1/1 0:00:00
FIL:IPFS:NFT帝國的最后一塊拼圖_SWAP

這個三月無疑是屬于NFT的,反正只要是和NFT相關的概念幣都迎來了暴漲,除了代幣,在現實層面也帶來了巨量的財富效應.

1900/1/1 0:00:00
區塊鏈:科普|15個DeFi入門必備術語_EFI

不夸張地說,去中心化金融和DeFi幾乎是本世紀最令人振奮的事情之一。現在,人們不必再將現金交給銀行家和投資經理打理,而是可以通過DeFi完全自動化的數字“智能合約”使用加密貨幣進行儲蓄、投資和借.

1900/1/1 0:00:00
ads