作為[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請求,成功獲取其中一個身份驗證令牌。使用下面請求體中的參數來完成這一任務。將電子郵件和密碼設置為特斯拉車輛賬戶所有者在特斯拉網站上的登錄名。
人民日報整版闡釋如何加快數字化發展建設數字中國:加強區塊鏈等關鍵數字技術研究:金色財經報道,《人民日報》2021年10月29日 09 版整版闡釋如何加快數字化發展,建設數字中國,其中提到堅持創新驅動,全面推動區塊鏈等數字技術融入政務服務全流程。夯實技術創新基礎,加強區塊鏈等關鍵數字技術研究,夯實技術創新升級基礎。[2021/10/29 6:18:58]
你會收到一個含有訪問令牌的回復:
一旦你有了一個有效的認證令牌,你就需要通過在請求頭中傳遞這個認證令牌到所需的API端點來找出你的(https://www.teslaapi.io/vehicles/list):
所需的車輛ID將在響應'id_s'元素中返回。這是特斯拉服務器將成功驗證的車輛ID。其他'id'和'vehicle_id'字段用于其他目的,不適用于網絡服務請求。
復旦大學教授許多奇:當今國際社會首當其沖的問題是如何判定數字貨幣法律性質:日前在金融法治菁英論壇上,復旦大學法學院教授許多奇表示,如何監管加密數字貨幣是當今國際社會普遍關注的問題,而首當其沖的問題是加密數字貨幣的法律性質判定問題,司法機關有關加密數字貨幣屬性的判定能否成為實現有效監管的基礎?在眾多司法轄區的多種監管思路中我們應作何種選擇?對于這些問題的思考和深入研究對于實現對加密數字貨幣的有效監管大有裨益。(中國貿易報)[2020/4/29]
在上面這個例子中,驗證令牌**bc031af9351deb7a33e92f689be9eaad4b840e98b49f050a5e951347f140493d**和車輛ID**42555797050350366**都將在后續對車輛的API調用中使用。特斯拉外部適配器
作為Chainlink黑客馬拉松2020獲獎作品LinkMyRide的一部分,我們創建了一個外部適配器,將Chainlink節點連接到特斯拉API的特定端點,以促進車主和租車人之間的點對點車輛租賃協議。這個外部適配器現在已經在Chainlink市場列出,其他開發者可以使用、修改或擴展。一旦你從Github上下載了外部適配器的代碼,并按照說明讓它運行,你就可以將外部適配器添加到你的Chainlink節點中,然后創建一個使用它的JobSpecification。如果你需要幫助設置Chainlink節點,你可以查看這個文檔。這個示例JobSpecification尋找來自特定預言機合約地址的傳入請求,將請求傳遞給外部適配器,然后將結果返回給智能合約。
回溯3.12 如何跨越從爆倉到回本的鴻溝:4月27日20:00,波哥做客金色財經《幣情觀察室》直播間,將分享《回溯3.12 如何跨越從爆倉到回本的鴻溝》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可。[2020/4/27]
如果你無法訪問特斯拉車輛,但仍然想玩玩外部適配器,你可以使用下面的一個無服務接口。這個目前指向一個仿真特斯拉服務器端點來模擬真實的特斯拉服務器響應。
存儲車輛認證令牌
如上所述,認證令牌對車輛的請求進行認證。將這些令牌暴露在鏈上是一種安全風險,因為它們控制著對車輛的訪問,并可用于確定車輛的確切位置。因此,我們需要一個解決方案,以確保認證令牌可以保留和使用,但永遠不會暴露在鏈上被其他人可以看到。如果你只需要將一輛車集成到你的智能合約中,那么最簡單的解決方案就是將認證令牌存儲在適配器運行的主機上作為環境變量。你可以在構建外部適配器指南中找到一個示范。但是如果需要為多輛汽車存儲和使用多個身份驗證令牌怎么辦?在這種情況下,外部適配器需要存儲和檢索多個鍵/值對。鍵是每輛車的車輛ID或一些獨特的標識符,而值是身份驗證令牌。在外部適配器中存儲和使用多個鍵/值對有很多解決方案。最創新的解決方案之一是使用云端的無服務NoSQL數據存儲認證令牌。如果您還將外部適配器作為無服務計算在您的云提供商上運行,您的外部適配器就會成為一個真正的無服務器、高可用和可擴展的混合區塊鏈/云計算功能。該外部適配器使用谷歌云的FirestoreNoSQL文檔數據庫來支持存儲和檢索多個車輛認證代幣。要設置Firestore數據庫,請遵循這個指導。如果你沒有谷歌云賬戶,你可以注冊一個免費賬戶。一旦您的Firestore數據庫設置完畢,您就可以為外部適配器設置所需的環境變量,然后按照外部適配器文檔中的說明啟動它。一旦外部適配器和Firestore數據庫運行完畢,在進入智能合約之前的最后一步就是對車輛進行認證。認證過程是適配器獲取車輛的特定信息,用這些信息連接到特斯拉服務器,然后將給定的車輛ID和認證令牌作為新的鍵/值對存儲在Firestore數據庫中,最后返回一個成功消息。從這一點來看,對給定車輛ID的任何請求都不需要認證令牌。外部適配器將在需要時從Firestore數據庫中獲取它。要執行這一步,以下面的格式向外部適配器URL發出HTTPPOST請求。在本例中,jobID是534ea675a9524e8e834585b00368b178;我們將在向Tesla服務器發出的請求中使用車輛ID和apiToken字段。認證操作告訴適配器對給定的車輛詳細信息進行認證,如果憑證有效,它就會將車輛詳細信息存儲在Firestore數據庫中。
BM:對代理如何運作和“dApp開發者”如何計費的理解可能需要調整:北京時間今日凌晨,BM在開發者群發表對代理如何運作和“dApp開發者”如何計費的理解:
??1)所有CPU/帶寬都是“執行操作的用戶”;
??2)所有存儲都按照dApp的選擇向用戶或dApp付費;
??3)dApp開發人員希望授權用戶將帶寬委托給用戶;
??4)授權帶寬理論上可以用于任何dApp。
現在想象一下,你是一個社交媒體公司,希望為用戶提供免費賬戶。用戶在您的網站上注冊,您為他們創建一個區塊鏈賬戶,然后將一些帶寬委托給他們。您的應用可以選擇為每個授權用戶支付有限的存儲空間,這使他們能夠在他們需要攜帶自己的存儲空間之前,擁有N份杰出的帖子和V張投票。如果您的應用不想為用戶支付存儲費用,則該應用可能完全是BYOS(注:Bring your own storage,使用你自己的存儲)和BYOB(注:Bring your own Bandwith,使用你自己的帶寬)應用。如果用戶不繼續他們的訂閱或停止使用您的服務,那么您可以將帶寬重新分配給其他用戶。[2018/4/30]
我們可以通過REST客戶端手動提出這個請求,也可以直接通過web應用提出,或者如果適配器只允許從特定的Chainlink節點進行連接,那么你可以通過web發起的jobspecification來發起,如下圖所示。在這個例子中,認證請求進入Chainlink節點,Chainlink節點將其轉發到外部適配器,然后外部適配器將結果發送到智能合約中的鏈上函數。
Shapeshift CEO:比特幣與央行一樣少有人知道其如何運作 卻一直在被使用:Shapeshift的首席執行官Erik Voorhees在其社交媒體發文稱:“現在有許多人質疑比特幣是如何運作的,并且因為比特幣的不確定性而遠離它。然而與此同時,這些人中沒有一個人知道中央銀行的業務是如何運作的,但卻毫無疑問地一直在使用它。[2018/3/22]
一旦外部適配器運行并對車輛進行了認證,我們就需要采取適當的措施來確保對適配器的訪問安全。我們可以在適配器內部和外部采取更多的安全措施,以確保只有經過授權的Chainlink節點或進程才能訪問調用外部適配器。你可以在適配器本身通過白名單來實現。如果適配器在云環境中作為無服務函數計算運行,您可以在那里配置安全和角色訪問。創建智能合約
現在,我們正在運行一個外部適配器,我們已經將其添加到Chainlink節點作業規范中,并且我們還安全地存儲了車輛的驗證驗證令牌。接下來,我們可以創建一個智能合約來對車輛進行操作,同時,獲取車輛的位置、里程表和充電水平的數據。第一步是創建一個新的API消費者合約,根據所選擇的以太坊網絡設置所有所需參數。您應該在合同中創建兩個函數:"unlockVehicle"和"unlockVehicleCallback",如下面的例子。調用unlockVehicle函數與特斯拉車輛進行交互。unlockVehicle函數將車輛ID和jobID作為參數。這應該是前面在特斯拉外部適配器部分提到的第一個作業規范的ID。我們將LINK支付金額設置為0.1LINK。下面是我們的Solidity例子,通過我們的Chainlink預言機進行HTTPPOST請求。
如果調用特斯拉服務器成功,車輛就會解鎖車門,并返回一條成功消息和一個JSON對象,其中包含車輛里程表、充電等級百分比和位置坐標。
這個響應數據將被返回到unlockVehicleCallback函數,我們可以手動提取每個值進行鏈上存儲。
上述合約的完整版本可以在GitHub]上獲得,或者你可以使用易于部署的Remix鏈接。這個實現目前連接到一個模擬的特斯拉服務器,用于開發和測試目的。為了將其修改為生產環境并連接到實際的特斯拉車輛,需要將作業規范更新為運行在指向真實特斯拉生產服務器的外部適配器上。總結
利用Chainlink網絡及其多功能的外部適配器功能,我們已經演示了如何將智能合約與特斯拉車輛進行整合。通過整合,智能合約可以完全訪問特斯拉豐富的車輛數據集,并能夠遠程執行車輛上的所有各種操作。這一演示為智能合約和車輛集成開辟了許多令人興奮的潛在用例,例如點對點車輛租賃,正如我們的Chainlink黑客馬拉松2020獲獎作品LinkMyRide所展示的那樣。其他用例可能包括短期的按次使用車輛登記或數據驅動的車輛保險,實時適應駕駛員的行為。隨著我們快速邁向一個擁有自主車輛的世界,想象一下在無人駕駛車輛上預訂和出行會變得更容易,由一個高度安全、確定性的智能合約管理車主和客戶之間的協議和交易。了解更多
如果你是一名開發者,并希望將你的智能合約連接到底層區塊鏈之外的現有數據和基礎設施,請在這里聯系或訪問開發者文檔。
變化是一件很奇怪的事情。看起來好像是一夜之間發生的。但促成這些變化的催化劑并不是隨意冒出來的。它們是經過一段時間的播種、培育和成長的。這一點對于技術來說,就像對于社會、和個人的變革一樣重要.
1900/1/1 0:00:00編者按:本文來自DCNews,作者:indiGO,Odaily星球日報經授權轉載。自從宣布即將推出YearnVaultsv2以來,Yearn.Finance接連宣布與Hegic、Alpha、Pi.
1900/1/1 0:00:00文|Azuma編輯|Mandy王夢蝶出品|Odaily星球日報 AndreCronje無疑是業界過去半個月內最響亮的名字.
1900/1/1 0:00:00編者按:本文來自DealeanCapitalResearch,Odaily星球日報經授權轉載。 需要擴容 自從以太坊主網上線以來,其擴容問題一直是討論最多的話題之一,尤其是當某些熱點事件引起網絡.
1900/1/1 0:00:00作者|Azuma編輯|Mandy出品|Odaily星球日報 福布斯12月2日晚間報道稱,支付巨頭Visa將與Circle達成合作.
1900/1/1 0:00:00股市中有一股聰明資金叫北向資金;那么在幣圈的聰明資金叫什么呢?2020年之前,幣圈的聰明資金是比特幣巨鯨轉賬動向,2020年的聰明資金無疑就是灰度的持倉變化.
1900/1/1 0:00:00