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

教程:通過Chainlink預言機構建參數化保險智能合約_INK

Author:

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

區塊鏈技術具有獨特的屬性,可以用來創建創新性的去中心化保險產品,為保險供應商和客戶帶來諸多好處。在本技術教程中,我們將向您展示:去中心化參數化保險合約的主要特點為什么Chainlink預言機在這些新的保險產品中起著舉足輕重的作用在去中心化保險合約中使用ChainlinkPriceFeed的優勢如何把所有的東西放在一起,創建一個可用的參數化作物保險合約如何使用Chainlink節點來自動更新保險合約下面例子的完整代碼可以在Remix或GitHub上查看,包括下面提到的所有功能以及所有需要的幫助函數。去中心化保險

去中心化保險利用區塊鏈技術和智能合約來取代傳統的保險協議。去中心化保險產品主要有三大特點。數據驅動的自動化

去中心化保險合約最重要的一點是,它是數據驅動和自動執行的。這意味著保險合約在不需要人工干預的情況下自動執行邏輯,依靠從外部獲取的安全準確的數據來決定合約邏輯的執行。這些保險智能合約還可以與外部輸出連接,如支付處理器或企業財務系統,以方便觸發支付。智能合約

智能合約代表了保險人與客戶之間的保險合同,它實質上是保險人對客戶指定類型的損失、破壞或責任進行賠償的承諾,如果是參數保險,則是對沖特定事件發生的風險。它包含了保險合同的所有細節,如指數、客戶支付的細節、合同日期或期限、指數的測量地點、閾值和商定的賠付值。由于保險合約存儲和執行在通常運行在大量節點上的區塊鏈上,因此它具有高度確定性,不容易被黑客攻擊或篡改。理賠流程

與傳統的保險合同不同,去中心化保險合約中,理賠過程是作為合約執行的一部分自動處理的。客戶不需要提交理賠,不需要提供任何證據,也不需要與保險公司或智能合約有任何互動。當智能合約認為應該發生賠付時,賠付將作為合約執行的一部分自動觸發。這可以通過直接向客戶進行鏈上支付,也可以通過智能合約連接的外部支付通道或金融系統來完成。創建數據驅動的參數化保險合同

現在,我們已經了解了什么構成了一個去中心化的參數化保險合約,我們將通過構建一個簡單的例子來展示上述三個概念。在這個場景中,我們將創建一個具有以下屬性的參數化農作物保險合約:如果在指定時間內沒有降雨,合同將向客戶支付約定的價值,目前設置為三天,以便于演示。合同將從兩個不同的數據源獲取降雨數據,以緩解任何數據完整性問題,然后對結果進行平均。該合約將以相當于美元價值的ETH全額出資,用于約定的賠付金額,以確保在觸發索賠時的完全確定性。它將使用ChainlinkETH/USDPriceFeed來確定合約所需的ETH數量。

V神:馬斯克領導下的Twitter可能面臨更多市場競爭:11月15日消息,以太坊創始人Vitalik Buterin在新加坡金融科技節上發表講話稱,Musk在推動更好的社交媒體體驗的過程中,可能會出現更多Twitter的競爭對手。并表示,他“希望在未來5到10年內,會出現某種更好的社交媒體平臺,無論是Twitter本身,還是其他替代平臺的大量涌現,我們甚至可以同時看到兩者”。

V神還表示:“Musk可以讓Twitter變得非常棒或非常糟糕,而后一種情況可能為其他人提供了創造真正偉大事物的機會”。他補充道,Twitter也可能最終介于這兩個極端結果之間。(彭博社)[2022/11/5 12:19:02]

去中心化保險架構建立保險合約工廠

首先,我們需要創建一個主"合約工廠"合約,它將生成多個保險協議,并允許我們與它們進行交互。這個合約將由保險公司擁有,并為每個生成的保險合約提供足夠的ETH和LINK資金,以確保保險合約一旦生成,就能在其整個存續期內執行所有需要的操作,包括賠付。首先,我們的Solidity代碼包含兩個合約,一個是InsuranceProvider合約,一個是InsuranceContract合約。InsuranceProvider合約會生成很多保險合約。InsuranceProvider合約的構造函數初始化了Kovan網絡上的ChainlinkETH/USDPriceFeed。InsuranceContract合約的構造函數定義如下,后面會進一步充實。

InsuranceProvider合約的一般結構如下:每個生成的合約都存儲在保險合同的`contracts`map中以生成的合同的Ethereum地址作為鍵。值是一個實例化的InsuranceContractSolidity智能合約。

`newContract`函數接收所需的輸入并生成一個新的保險合約,按照之前定義的構造函數定義傳遞所有所需的參數。它還會發送與支付金額相等的ETH,從而使生成的合約資金充足。它使用ChainlinkETH/USDPriceFeed來完成這個轉換。然后,它將生成的合約存儲在`contracts`map中,并將足夠的LINK傳輸到生成的合約中,這樣它就有足夠的數據請求每天兩次,并且有一個余量。這個余量是為了考慮到合約到期后可能需要額外調用的時間問題。當合約結束時,任何剩余的LINK都會被返還給保險提供商。

比特幣挖礦收入較2022年最低收入日增長68.63%:金色財經報道,比特幣(BTC)采礦業在2022年全年忍受了巨大的財務壓力,因為長期的熊市直接影響了他們的收益。然而,在6月13日這一年度挖礦收入最低的日子里,礦工們的挖礦收入在一個月內增長了 68.63%。

在這一年里,由于以投資者情緒為中心的多種因素,比特幣采礦的收入下降了,由市場崩潰、生態系統崩潰和虧損的投資引起的緊張局勢所驅動。比特幣生態系統在眾多決定因素中恢復了,包括礦工的美元收入、網絡難度和哈希率。[2022/8/13 12:23:18]

`updateContract`函數用于更新保險合約的數據,并檢查是否達到了觸發付款的閾值,或者合約是否已經到了結束日期。

最后,`getContractRainfall`函數用于返回給定保險合同的降雨量,`getContractRequestCount`函數用于查看有多少數據請求成功地傳回保險合約。

獲取外部數據

生成的保險合約需要獲得外部數據才能正常執行。這就是Chainlink網絡發揮作用的地方,因為你可以使用它將保險合約連接到多個降雨數據源。在這個例子中,我們將在兩個不同的Chainlink節點上使用JobSpecification,從兩個不同的天氣API中獲取數據,然后將在鏈上取平均值來得出最終結果。這兩個天氣API都需要注冊獲得一個免費的API密鑰在每個請求中使用。-WeatherBitWeatherAPI-LinkPoolGET>Uint256Job-SteelblockGET>Uint256Job一旦我們記下了WeatherAPIkey以及上面的JobSpecificationId和oracle合約,我們現在就可以創建`InsuranceContract`合約,填寫所需的常量字段。在生產場景中,這些常量字段會被私有存儲在Chainlink節點上,在鏈上是不可見的,但為了方便跟隨演示,它們被留在了合約中。我們還存儲了所需的JSON路徑,當Chainlink節點從每個API中獲取天氣數據時,我們要遍歷這些路徑來找到每日總降雨量。

萬事達卡CFO:我們將加密貨幣視為一種資產類別而非支付工具:金色財經報道,萬事達卡(Mastercard)CFO Sachin Mehra近日分享了他對加密貨幣的看法。他說:“在加密貨幣世界里,當人們使用我們的借記卡和信用卡產品來購買加密貨幣,我們充當的是上行通道的角色。而當人們想要兌現時,我們充當的是下行通道的角色,即我們幫助他們獲得權限,能夠在接受萬事達卡的地方使用他們的加密貨幣余額。”

此外,他認為,任何東西要想成為我們心目中的支付工具,就需要具有價值存儲。如果某樣東西的價值每天都在波動,從消費者心態的角度來看,這就是一個問題。因此,我們更多地將加密貨幣視為一種資產類別,而非支付工具。

Mehra表示,在支付工具方面,穩定幣和央行數字貨幣(CBDC)可能會有更多的發展空間。(彭博社)[2022/8/4 2:58:16]

完成保險合約

下一步是完成保險合約,它代表客戶和保險公司之間的作物保險合同。該合約被實例化,所有所需的值都傳遞到構造函數中。它還做了以下工作:使用ChainlinkETH/USDPriceFeed來檢查是否有足夠的ETH被發送,以確保在觸發支付時有足夠的資金。設置合約執行所需的一些變量將JobId和oracle數組設置為包含從上面“獲取外部數據”部分的兩個JobSpecification中獲取的值。然而,如果你想運行你自己的Chainlink節點,將兩個請求都設置為使用你的JobSpecification和oracle合約,這樣就可以看到每個Job的輸出。這樣做需要在market.link上創建一個新的JobSpecification,和這個例子一樣,只需要修改runloginitiator中的地址為你的oraclecontract。

然后,我們創建一個函數來調用,以從每個Chainlink節點和天氣API中請求降雨數據。這個函數被主保險提供者合約所調用。它為每個請求建立了所需的URL,然后為每個請求調用`checkRainfall`函數。但在這之前,它調用了一個`checkEndContract`函數來檢查合約結束日期是否已經到了,并且只有在合約仍然有效的情況下才會繼續。這個`checkEndContract`函數定義如下。

Binance.US 已聘請前PayPal高管 Jasmine Lee 擔任首席財務官:7月7日消息,Binance.US周四宣布,金融科技公司 Acorns 的前首席財務官兼首席運營官 (COO) Jasmine Lee 已加入 Binance.US 擔任首席財務官。在加入 Acorns 之前,Lee 是 PayPal 消費產品組的首席財務官和首席運營官。據悉,這項任命是在加密貨幣交易所運營商Binance.US計劃“在未來 2-3 年內”進行 IPO 之際進行的。[2022/7/7 1:58:21]

現在我們可以創建`checkRainfall`函數。這是實際執行外部數據請求的函數。它接收所有需要的參數,建立一個請求,然后將其發送到指定的Chainlink節點oracle合約。在我們的演示中,傳遞到`checkRainfall`函數中的`_path`變量的值用來遍歷請求返回的JSON的路徑,找到當前的降雨量。這些值取決于調用哪一個天氣API,這兩個選項都存儲在我們的合約中的靜態變量中,并根據需要傳遞到`_path`函數參數中。WorldWeatherOnlineAPIresponseformatWeatherbitAPIresponseformat

然后,我們創建一個回調函數,當Chainlink節點發回響應時調用。這個函數接收指定位置的更新雨量數據,如果是第二次數據更新,則執行取平均計算,然后用最新的雨量數據更新合約。回調函數還根據當前合約的降雨量數據檢查是否實現了參數化損失。本例中,它根據給定的閾值檢查連續無雨天數。如果滿足賠付條件,則調用`payoutContract`函數。

Do Kwon請求韓國加密交易所重新上線Luna并支持新代幣空投:5月25日消息,在Terra創始人Do Kwon發起Terra重建計劃一周后,Do Kwon聯系了韓國五大加密交易所(Upbit、Bithumb、Coinone、Korbit和Gopax),請求這些交易所能在Luna 2.0上線時重新上線Luna并支持空投新代幣。

據稱,接洽的韓國交易所對Terraform Labs的要求表現出堅定的態度,稱“要上幣就走正式上幣程序,交易所沒有單獨的空投計劃向代幣持有者提供新代幣”。但是,Upbit交易所稱如果重建計劃通過,它將支持空投新的Luna幣。一位Upbit高管解釋稱“空投是為了支持現有代幣持有者。”(heraldcorp)[2022/5/25 3:40:58]

接下來我們創建`payoutContract`函數。這個函數作為理賠處理步驟,執行保險人向客戶自動支付約定的價值。我們在這里格外小心,確保它只能在合約仍處于激活狀態時被調用,并且只能被其他合約函數在內部調用。它還將任何剩余的LINK返回到保險提供商主合同,并將合約設置為已完成狀態,以防止對其進行任何進一步的操作。

}最后,我們創建一個函數來處理這樣的場景:合約結束日期已經到了,還沒有觸發支付,我們需要歸還合約中的資金,然后標記為結束。該函數執行檢查整個合約是否收到足夠的數據請求。每天需要收到一個數據請求,總計只允許漏掉一個請求。因此,如果合約的持續時間為30天,則必須有至少29個成功的數據請求。如果合約在其生命周期內收到足夠的請求,所有資金將被退回給保險供應商。否則,如果在整個合約的存續期內沒有足夠的數據請求,客戶就會自動收到作為退款的保費,而保險商則會拿回任何剩余的資金。這個方案還利用ChainlinkETH/USDPriceFeed來確定正確的ETH數量,將其返還給客戶。這個檢查給客戶一定程度的保證,保險提供商不會試圖通過不更新降雨量數據來玩弄合約,直到達到結束日期。該函數還將返回任何剩余的LINK回保險提供商合約。

部署和測試合同

首先,我們需要部署InsuranceProvider合約,并用一些ETH和LINK為其提供資金,以便在生成的InsuranceContract合約中使用。完成這些工作后,我們就可以創建一個新的InsuranceContract,傳遞所需的值。請注意以下幾點。持續時間的單位是秒在這個演示中,1天被縮短為60秒,所以合同期限300秒代表5天。premium和payoutValue參數以美元為單位,乘以100000000,例如100美元就是10000000000。

創建一個新的保險合同當保險合同生成后,我們可以通過Etherscan中的交易或通過交易輸出獲取其地址。

在Etherscan上查看生成的合同然后,我們可以將生成的合同地址,傳入`updateContract`函數,開始將降雨量數據傳入合同中。

更新保險合約當兩個Chainlink節點都處理了作業請求并返回一個結果后,我們就可以調用`getContractRainfall`和`getContractRequestCount`函數來查看平均降雨量的更新,以及數據請求數的增加。一個數據請求意味著兩個節點都返回了一個結果,取平均值之后存儲在合約中。在本例中,愛荷華州目前兩個數據源的平均降雨量為0.6mm。我們還可以調用幫助函數`getContractStatus`來驗證合同是否還處于活動狀態。

獲取保險合約的狀態在合約有效期內,每天應重復此步驟,結束合約。如果無雨天數達到`DROUGHT_DAYS_THRESHOLD`中設置的閾值,合約將向客戶支付約定的金額,合約狀態結束。為了達到演示的目的,我們又為一個沒有降雨的地點創建了一個保險合約,并在三分鐘內重復上述步驟三次,以演示在賠付時發生的情況。在這個案例中,我們可以看到最新的降雨量為0,請求次數為3,合同不再處于活動狀態。

獲取保險合同的狀態如果我們再去以太坊上檢查該合約,就會發現約定的美元ETH賠付值已經轉回了上面創建合約時指定的客戶錢包地址,而保險合約已經不再持有任何ETH或LINK。由于保險合約現在處于完成狀態,所以后續對保險合約的任何操作都會被拒絕。

驗證保險合約的支付情況自動更新數據

在當前版本的合同中,必須有人手動調用`updateContract`函數來讓合約與Chainlink節點通信并獲取降雨量數據。這并不理想,因為它需要在整個合約期限內多次調用。一個好的自動化方法是利用Chainlink節點的croninitiator。croninitiator是一種使用簡單的cron語法在Chainlink節點上調度循環Job的方法。在這種情況下,我們可以做的是在Chainlink節點上創建一個新的JobSpecification,使用croninitiator每天觸發一次JobSpecification。但為了本演示的目的,我們將根據前面提到的常量SECONDS_IN_DAY,將其設置為每分鐘觸發一次。JobSpecification的剩余部分將簡單地在每次Cronjob觸發執行JobSpecification時,調用部署的智能合約`updateContract`函數。這個想法是,保險前端將擁有所有相關的細節,并可以將它們傳遞進來。

我們的想法是,去中心化的保險應用前端將向Chainlink節點API發送請求,動態生成新的JobSpecification,并提供節點自動開始定期更新保險合同所需的所有正確細節,而不必通過Chainlink節點前端接口手動創建這個工作規范。要做到這一點,首先我們需要Chainlink節點的IP地址和端口,以及登錄節點的用戶名和密碼。這些都是用來生成下一次請求的cookiefile。

完成了這些工作后,我們會得到一個響應,以顯示認證成功。

然后我們可以向Chainlink節點API發送另一個POST請求,這次是向/v2/specs端點發送。請求中的JSON是定期更新的生成的保險合約的地址,以及開始和結束的日期/時間,這樣節點就知道什么時候停止定期更新保險合約。

這個命令會在返回一個成功的消息,其中包含了生成的JobSpecification的細節。在這之后,你就可以登錄到Chainlink節點前端,并看到新創建的JobSpecification。

Cron啟動器工作規范語法JobSpecification創建后,它就會按照croninitiator中設置的參數開始執行請求。我們可以在Chainlink節點前端監控到這一點。

節點成功地完成了請求后可以回到智能合約,看到它的狀態已經成功更新。

總結

在這篇技術文章中,我們已經演示了如何建立一個去中心化的作物保險產品,以補償農民的干旱期。我們已經展示了保險合約擁有準確和去中心化數據的重要性,以及Chainlinkoracles在安全提供這些數據方面的作用。我們還演示了如何利用連接到外部數據和事件的確定性智能合約來徹底降低處理保險理賠的開銷和管理成本,以及在合約條款以美元為基礎卻以加密貨幣支付的情況下,如何利用Chainlink去中心化喂價送來準確確定正確的賠付金額。最后,我們還演示了Chainlink節點croninitiator如何與Chainlink節點API結合使用,以自動安排和執行智能合約更新。雖然這個演示包含了許多功能,但它可以作為一個基本模板來構建一個完整的、功能豐富的去中心化保險產品。開發者可以在這個模板的基礎上以各種方式進行構建,比如去掉人工數據聚合,利用Chainlink的聚合器或PreCoordinator合約。另一種選擇是將保險合約證券化,并將其作為DeFi生態系統或其他市場的抵押品。如果您是開發人員,并希望將您的智能合約連接到鏈外數據和系統,請訪問開發文檔并加入Discord上的技術討論。如果您想安排電話討論更深入的集成,請在這里聯系。

Tags:INKLINKAINNLINKlink幣幣情SLINK幣Sentinel ChainTronLink官網版下載

萊特幣
?投資者應如何評估DeFi項目?一篇新論文可能會給出一些答案_NBA

https://arxiv.org/abs/2012.08040ChinaDeFi也翻譯了論文的結論部分,如下在本文中,我們探討了恒定函數市商的形態將如何影響其在數字資產市場的能力.

1900/1/1 0:00:00
數十位行業專家回答 :2020年是“DeFi年”?2021年對加密行業有什么期待?_EFI

編者按:本文來自Cointelegraph中文,作者:MAXYAKUBOWSKI,Odaily星球日報經授權轉載。區塊鏈技術和加密領域的專家對這個問題進行了解答.

1900/1/1 0:00:00
詳解Filecoin挖礦的成本及收益的計算邏輯_FIL

2020年末,隨著比特幣價格屢創歷史新高,數字加密貨幣市場資金開始轉向主流幣,此時正是各大投資機構醞釀新布局的時刻,作為最具有落地應用希望的Filecoin也成為了投資者所青睞的主流項目之一.

1900/1/1 0:00:00
以太坊3.0看起來是什么樣?_CAS

日前,CasperLabsCTO和聯合創始人MedhaParlikar加入Metis團隊成為首席顧問,雙方也會在近期宣布深入的技術合作.

1900/1/1 0:00:00
拍斷大腿2020,啪啪打臉2021_比特幣

編輯|Mandy出品|Odaily星球日報 過往種種,皆為序章。迷幻動蕩的2020結束了,充滿未知的2021即將展開。新舊交替之際,各類平臺都在輸出各類嚴肅的行業梳理盤點內容.

1900/1/1 0:00:00
PlatON正式發布新一期Grants計劃項目_PLA

2020年,作為PlatON的主要支持者和推動者,LatticeX基金會向全球正式宣布Grants計劃.

1900/1/1 0:00:00
ads