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

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

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'字段用于其他目的,不適用于網絡服務請求。

SBF:人們知道如何計算年收益,只是有時不理會:FTX首席執行官SBF今日發推稱:“嘿兄弟,我認為每個人都忘記如何計算年收益。對此,他在最新的推特中補充說明:可以明確地說,人們知道如何計算年收益,但他們只是有時候不理會。”[2020/9/18]

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

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

日本金融廳長官:日本要密切關注如何克服發行CBDC的挑戰:日本金融廳長官HIMINO表示,日本不僅需要對央行數字貨幣(CBDC)進行學術研究,要更密切地關注如何克服發行央行數字貨幣可能帶來的挑戰。如果只是解除對比特幣和其他加密貨幣的管制,這可能只會增加投機交易,并不一定會促進技術創新。不考慮推動加密貨幣交易的新舉措,希望更多地關注如何將區塊鏈技術與增強公共福利的政策結合起來。[2020/8/5]

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

存儲車輛認證令牌

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

掌柜調查署 | 競爭之下平臺幣會如何發展?:4月14日16:00,AAX交易所CEO Thor Chan將攜帶新上線的平臺通證AAB做客金色財經掌柜調查署,一起來看競爭之下,平臺幣會如何發展。更多詳情點擊原文鏈接查看。[2020/4/14]

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

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

幣情觀察室 | 全球遇冷 比特幣橫盤震蕩 如何布局進場:4月3日16:30,金色盤面邀請行情大V星河區塊鏈做客金色財經《幣情觀察室》直播間,將分享《全球遇冷 比特幣橫盤震蕩 如何布局進場》,敬請關注,掃描下圖二維碼即可觀看。[2020/4/3]

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

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

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

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

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

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

Tags:INKLINKAPICHABABYLINK幣linkeyxEarn CapitalAries Chain

Filecoin
谷燕西:對歐元而言,Diem是披著羊皮的狼嗎?_DIE

根據路透社的報道,德國金融部長OlafScholz在最近的一次G7金融部長視頻會議之后,發表觀點認為Diem最近的改名只是化妝性質的改變。“披著羊皮的狼依然是狼.

1900/1/1 0:00:00
觀點:AMM現存問題的通用解決方案_AMM

編者按:本文來自區塊律動BlockBeats,作者:律動研究院,Odaily星球日報經授權轉載。隨著AMM被越來越多交易者所接受,其所隱含的問題也被無限放大.

1900/1/1 0:00:00
孟巖:產業區塊鏈和DeFi并不矛盾,而是互補關系_區塊鏈

編者按:本文來自巴比特資訊,星球日報經授權發布。2020年12月5日,2020世界區塊鏈大會·武漢正式在武漢國際會展中心開幕.

1900/1/1 0:00:00
比升資本:Harvest Finance分析報告_EST

一、基本情況 1.1項目簡介 HarvestFinance是構建在ETH上的收益聚合器,對標YFI協議.

1900/1/1 0:00:00
六問NFT和鏈游:鏈游的今天和未來是何景象?其中的機會在哪里?_NFT

從公鏈時代開啟之時,鏈游一直被寄予眾望,幾乎所有公鏈都曾將鏈游作為其重點扶持對象。不過在其發展過程中我們依然看到了諸多有待攻克的問題.

1900/1/1 0:00:00
MakerDAO引入現實資產,一文了解具體實施方案_Maker

貢獻者:MakerDAORWA工作組匯編者:Ran&Wesley@UPRETS,Chao@MakerFoundation摘要現實資產(RealWorldAssets.

1900/1/1 0:00:00
ads