以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

如何通過Chainlink外部適配器將特斯拉汽車API連接到智能合約上_CHA:xEarn Capital

Author:

Time:1900/1/1 0:00:00

作為[Chainlink黑客馬拉松的特等獎獲得者,智能合約開發者HarryPapacharissiou和MattDurkin使用Chainlink外部適配器將特斯拉車輛API連接到Chainlink預言機,用于點對點車輛租賃應用。他們的特斯拉智能合約是一個說明Chainlink用于連接鏈外API和智能合約的很好的例子,并實現全新的商業模式。在這篇文章中,Harry和Matt將介紹他們是如何創建實現的。*作者:HarryPapacharissiou和MattDurkinChainlink的外部適配器功能可以輕松地將智能合約連接到任何API,實現智能合約觸發鏈外事件的各種用例,并將防篡改的數字協議帶到外部系統。特斯拉公司生產了一系列創新的電動汽車,配備了技術先進的功能和特性。其中一項就是豐富的API,可以為經過認證的客戶端提供豐富的車輛數據,以及遠程訪問并執行車輛上各種狀態變化的功能。通過外部適配器和Chainlink節點來調用API,特斯拉智能合約可以與特斯拉車輛完全集成,這就開辟了幾個獨特的用例。在這篇技術文章中,我們將通過:如何使用特斯拉外部適配器與特斯拉API進行交互?如何編寫一個智能合約,通過鏈克節點使用特斯拉外部適配器獲取車輛數據并修改車輛的狀態特斯拉API

如車輛數據API所示,特斯拉官方移動應用可以讓特斯拉車主獲得車輛位置、里程表讀數、車輛電池充電狀態等數據。這款移動應用還允許用戶執行各種遠程命令,如鎖定和解鎖車輛、遠程啟動車輛、打開和關閉充電口、設置限速等,另外還有很多特斯拉遠程命令列表中列出的內容。這款移動應用使用RESTAPI連接到特斯拉的服務器,而服務器則與每輛車進行通信。在撰寫本文的時候,特斯拉還沒有向車主發布任何API的官方文檔,但社區開發者已經通過逆向工程的方式制作了非官方文檔。目前,社區已經在幾個第三方應用中應用了這些API,比如這個自帶的數據記錄器。特斯拉API使用OAuth標準進行身份驗證,在成功請求到驗證端點后,API會授予訪問令牌。向API連續發出的需要身份驗證的請求時,需要在請求頭中包含身份驗證令牌,前提是該令牌尚未過期或被撤銷。特斯拉API生成的訪問令牌有一個長達45天的有效期,并且每次認證請求都會生成一個壽命較長的刷新令牌。如果訪問令牌接近到期或過期,我們也可以申請新的訪問令牌。在與特斯拉汽車進行通信之前,必須首先通過向身份驗證API端點發出HTTPPOST請求,成功獲取其中一個身份驗證令牌。使用下面請求體中的參數來完成這一任務。將電子郵件和密碼設置為特斯拉車輛賬戶所有者在特斯拉網站上的登錄名。

烏克蘭危機全面爆發會如何:高盛預測納斯達克大跌近10%:2月21日電,高盛估計,標普500指數在俄烏危機全面爆發中的下行空間為6.2%,若降溫則有5.6%的上漲潛力。以Dominic Wilson為首的策略師預計納斯達克有9.6%的潛在下行空間,反之有8.6%的潛在上行空間。(財聯社)[2022/2/22 10:06:59]

你會收到一個含有訪問令牌的回復:

一旦你有了一個有效的認證令牌,你就需要通過在請求頭中傳遞這個認證令牌到所需的API端點來找出你的(https://www.teslaapi.io/vehicles/list):

所需的車輛ID將在響應'id_s'元素中返回。這是特斯拉服務器將成功驗證的車輛ID。其他'id'和'vehicle_id'字段用于其他目的,不適用于網絡服務請求。

人民日報整版闡釋如何加快數字化發展建設數字中國:加強區塊鏈等關鍵數字技術研究:金色財經報道,《人民日報》2021年10月29日 09 版整版闡釋如何加快數字化發展,建設數字中國,其中提到堅持創新驅動,全面推動區塊鏈等數字技術融入政務服務全流程。夯實技術創新基礎,加強區塊鏈等關鍵數字技術研究,夯實技術創新升級基礎。[2021/10/29 6:18:58]

在上面這個例子中,驗證令牌**bc031af9351deb7a33e92f689be9eaad4b840e98b49f050a5e951347f140493d**和車輛ID**42555797050350366**都將在后續對車輛的API調用中使用。特斯拉外部適配器

作為Chainlink黑客馬拉松2020獲獎作品LinkMyRide的一部分,我們創建了一個外部適配器,將Chainlink節點連接到特斯拉API的特定端點,以促進車主和租車人之間的點對點車輛租賃協議。這個外部適配器現在已經在Chainlink市場列出,其他開發者可以使用、修改或擴展。一旦你從Github上下載了外部適配器的代碼,并按照說明讓它運行,你就可以將外部適配器添加到你的Chainlink節點中,然后創建一個使用它的JobSpecification。如果你需要幫助設置Chainlink節點,你可以查看這個文檔。這個示例JobSpecification尋找來自特定預言機合約地址的傳入請求,將請求傳遞給外部適配器,然后將結果返回給智能合約。

直播|小琬 > 挖礦小白如何區分Filecoin眾多礦商的優劣:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第9期15:00正在直播中,本期“后浪”仙女Blocklike CEO 小琬將在直播間聊聊“挖礦小白如何區分Filecoin眾多礦商的優劣”,感興趣的朋友掃碼移步收聽。[2020/7/15]

如果你無法訪問特斯拉車輛,但仍然想玩玩外部適配器,你可以使用下面的一個無服務接口。這個目前指向一個仿真特斯拉服務器端點來模擬真實的特斯拉服務器響應。

存儲車輛認證令牌

如上所述,認證令牌對車輛的請求進行認證。將這些令牌暴露在鏈上是一種安全風險,因為它們控制著對車輛的訪問,并可用于確定車輛的確切位置。因此,我們需要一個解決方案,以確保認證令牌可以保留和使用,但永遠不會暴露在鏈上被其他人可以看到。如果你只需要將一輛車集成到你的智能合約中,那么最簡單的解決方案就是將認證令牌存儲在適配器運行的主機上作為環境變量。你可以在構建外部適配器指南中找到一個示范。但是如果需要為多輛汽車存儲和使用多個身份驗證令牌怎么辦?在這種情況下,外部適配器需要存儲和檢索多個鍵/值對。鍵是每輛車的車輛ID或一些獨特的標識符,而值是身份驗證令牌。在外部適配器中存儲和使用多個鍵/值對有很多解決方案。最創新的解決方案之一是使用云端的無服務NoSQL數據存儲認證令牌。如果您還將外部適配器作為無服務計算在您的云提供商上運行,您的外部適配器就會成為一個真正的無服務器、高可用和可擴展的混合區塊鏈/云計算功能。該外部適配器使用谷歌云的FirestoreNoSQL文檔數據庫來支持存儲和檢索多個車輛認證代幣。要設置Firestore數據庫,請遵循這個指導。如果你沒有谷歌云賬戶,你可以注冊一個免費賬戶。一旦您的Firestore數據庫設置完畢,您就可以為外部適配器設置所需的環境變量,然后按照外部適配器文檔中的說明啟動它。一旦外部適配器和Firestore數據庫運行完畢,在進入智能合約之前的最后一步就是對車輛進行認證。認證過程是適配器獲取車輛的特定信息,用這些信息連接到特斯拉服務器,然后將給定的車輛ID和認證令牌作為新的鍵/值對存儲在Firestore數據庫中,最后返回一個成功消息。從這一點來看,對給定車輛ID的任何請求都不需要認證令牌。外部適配器將在需要時從Firestore數據庫中獲取它。要執行這一步,以下面的格式向外部適配器URL發出HTTPPOST請求。在本例中,jobID是534ea675a9524e8e834585b00368b178;我們將在向Tesla服務器發出的請求中使用車輛ID和apiToken字段。認證操作告訴適配器對給定的車輛詳細信息進行認證,如果憑證有效,它就會將車輛詳細信息存儲在Firestore數據庫中。

巴曙松、喬若羽、 鄭嘉偉:區塊鏈技術如何滲透到不同金融場景?:區塊鏈技術在支付清算領域尤其是跨境支付、聯合貸款等領域的優勢格外突出,不少銀行已經在這個領域躍躍欲試,除此之外,抵押物核查與征信環節等也是區塊鏈應用場景。[2018/4/25]

我們可以通過REST客戶端手動提出這個請求,也可以直接通過web應用提出,或者如果適配器只允許從特定的Chainlink節點進行連接,那么你可以通過web發起的jobspecification來發起,如下圖所示。在這個例子中,認證請求進入Chainlink節點,Chainlink節點將其轉發到外部適配器,然后外部適配器將結果發送到智能合約中的鏈上函數。

一旦外部適配器運行并對車輛進行了認證,我們就需要采取適當的措施來確保對適配器的訪問安全。我們可以在適配器內部和外部采取更多的安全措施,以確保只有經過授權的Chainlink節點或進程才能訪問調用外部適配器。你可以在適配器本身通過白名單來實現。如果適配器在云環境中作為無服務函數計算運行,您可以在那里配置安全和角色訪問。創建智能合約

中紀委機關報談區塊鏈發展:如何讓監管理解并適度監管是挑戰:今日東方財富網發文稱,在今年的全國兩會上,“區塊鏈”成為一些代表委員熱議的話題,近日中紀委機關報談到區塊鏈發展時,認為:如何讓監管理解并適度監管是挑戰。[2018/3/6]

現在,我們正在運行一個外部適配器,我們已經將其添加到Chainlink節點作業規范中,并且我們還安全地存儲了車輛的驗證驗證令牌。接下來,我們可以創建一個智能合約來對車輛進行操作,同時,獲取車輛的位置、里程表和充電水平的數據。第一步是創建一個新的API消費者合約,根據所選擇的以太坊網絡設置所有所需參數。您應該在合同中創建兩個函數:"unlockVehicle"和"unlockVehicleCallback",如下面的例子。調用unlockVehicle函數與特斯拉車輛進行交互。unlockVehicle函數將車輛ID和jobID作為參數。這應該是前面在特斯拉外部適配器部分提到的第一個作業規范的ID。我們將LINK支付金額設置為0.1LINK。下面是我們的Solidity例子,通過我們的Chainlink預言機進行HTTPPOST請求。

如果調用特斯拉服務器成功,車輛就會解鎖車門,并返回一條成功消息和一個JSON對象,其中包含車輛里程表、充電等級百分比和位置坐標。

這個響應數據將被返回到unlockVehicleCallback函數,我們可以手動提取每個值進行鏈上存儲。

上述合約的完整版本可以在GitHub]上獲得,或者你可以使用易于部署的Remix鏈接。這個實現目前連接到一個模擬的特斯拉服務器,用于開發和測試目的。為了將其修改為生產環境并連接到實際的特斯拉車輛,需要將作業規范更新為運行在指向真實特斯拉生產服務器的外部適配器上。總結

利用Chainlink網絡及其多功能的外部適配器功能,我們已經演示了如何將智能合約與特斯拉車輛進行整合。通過整合,智能合約可以完全訪問特斯拉豐富的車輛數據集,并能夠遠程執行車輛上的所有各種操作。這一演示為智能合約和車輛集成開辟了許多令人興奮的潛在用例,例如點對點車輛租賃,正如我們的Chainlink黑客馬拉松2020獲獎作品LinkMyRide所展示的那樣。其他用例可能包括短期的按次使用車輛登記或數據驅動的車輛保險,實時適應駕駛員的行為。隨著我們快速邁向一個擁有自主車輛的世界,想象一下在無人駕駛車輛上預訂和出行會變得更容易,由一個高度安全、確定性的智能合約管理車主和客戶之間的協議和交易。了解更多

如果你是一名開發者,并希望將你的智能合約連接到底層區塊鏈之外的現有數據和基礎設施,請在這里聯系或訪問開發者文檔。

Tags:LINKINKAPICHAALINKPink PandaxEarn CapitalBitindi Chain

幣安app官網下載
牛市尚未結束,調整將是常態_COI:比特幣市值跌破5000億美元了嗎

Bitcoinwin數字貨幣最新行情顯示,昨夜晚間BTC連續沖高至19850后開始震蕩下跌,截至撰稿,BTC在Bitcoinwin上的報價為:19372美金.

1900/1/1 0:00:00
DeFi鯨魚的自我修養:從百萬到千萬之路_AAVE:aave幣怎么挖礦

編者按:本文來自風火輪社區,作者:佩佩,Odaily星球日報經授權轉載。 大家好,我是佩佩,開頭先轉一段比較認同的話,無腦梭還是挺考驗時運,要想把defi真正玩轉是有很高門檻的,而這也會是def.

1900/1/1 0:00:00
比特幣興起,黃金成為犧牲品?_COIN:加密貨幣怎么賺錢

摩根大通表示,加密貨幣在主流金融圈中的興起是以黃金的犧牲為代價。摩根大通是少數幾家預測黃金和加密市場將發生重大轉變的華爾街銀行之一.

1900/1/1 0:00:00
從Zcoin到Firo,不只是改名_COIN:filecoin幣哪里能交易

11月30日,比特幣一路高歌,一舉突破19800USDT,站上歷史高點。隨即,LTC、BCH等老主流幣紛紛跟漲。新一輪牛市正式到來,已經成為多數人的共識.

1900/1/1 0:00:00
Sushi的可能性_SHI:sushi幣論壇

編者按:本文來自藍狐筆記,Odaily星球日報經授權轉載。前幾天AC提及Yearn和Sushiswap的合并,Sushi再次引起人們的關注.

1900/1/1 0:00:00
Staking流動性板塊,ETH2.0的最大贏家_STAK:INSTAR

ETH2.0轉型PoS,Staking市場將迎來最大的玩家。另一面,DeFi的興起讓更多的資產從Staking中出逃參與收益率更高的DeFi應用,質押率的下降又嚴重威脅PoS公鏈的安全.

1900/1/1 0:00:00
ads