比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 火幣APP > Info

如何使用Chainlink VRF在Solidity中生成隨機數?_Chain

Author:

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

Solidity中無法原生地完成隨機數生成。要在區塊鏈上生成一個真正可驗證的隨機數,智能合約必須將種子發送到像預言機這樣的鏈外資源,而預言機必須將隨機數連同可驗證的證明一起返回給智能合約,證明隨機數是使用種子生成的。隨著ChainlinkVRF現已在Ethereum主網上線,開發者可以在Solidity中以安全可靠、可驗證的方式輕松生成隨機數。在這篇技術文章中,我們將向您展示如何使用ChainlinkVRF在Solidity中生成隨機數。在您的智能合約中生成安全隨機數的例子可以在Chainlink文檔中找到。這里有一個Remix上在Kovan測試網生成區塊鏈隨機數的例子,供現在想測試的人使用。只要記得按照請求和接收方法,用LINK轉賬到你的智能合約就可以了。ChainlinkVRF的高級概述

Robinhood因未恰當披露如何應對高頻交易機構而遭到調查:金色財經報道,股票與加密貨幣投資平臺Robinhood因未能恰當地披露如何將客戶訂單發送給高頻交易機構而受到民事欺詐調查。根據報告,這項由美國證券交易委員會(SEC)進行的調查已進入“高級階段”,可能導致其遭到1000萬美元的罰款。[2020/9/3]

ChainlinkVRF是一個為智能合約設計的公平的可驗證的隨機性來源。Solidity開發人員可以使用它作為防篡改的隨機數生成器,為依賴不可預測結果的Ethereum應用構建安全可靠的智能合約。在Solidity中使用ChainlinkVRF生成隨機數的第一步是確定一個種子。選擇一個難以被影響或預測的種子極為重要。如果有人能夠影響或預測種子,理論上他們可以嘗試與執行隨機性請求的預言機節點串通,產生一個對自己有利的結果。正因為如此,建議不要使用來自區塊鏈狀態的值,如區塊高度或區塊時間戳。然后,這個種子會以請求的方式發送到Chainlink預言機。然后,預言機會用給定的種子生成一個偽隨機數,并將結果返回給智能合約,一同返回的還有一個加密證明,用來驗證隨機數是使用種子生成的。這種加密證明是通過公鑰加密技術創建的,這是區塊鏈技術中廣泛使用的技術。重要的是,結果可以被驗證,避免礦工或預言機等參與者為了自己的利益而影響隨機數的結果。這是對ChainlinkVRF工作方式的高級概述。關于底層技術實現的更多細節可以在我們對ChainlinkVRF的介紹中找到。然而,作為開發者,除了獲取種子,然后向Chainlink預言機創建一個請求之外,你不需要擔心任何事情。創建消費者合約如何在Solidity智能合約中獲得一個隨機數,我們應該首先從ChainlinkVRFConsumerBase合約中繼承。消費者合約還應該包含存儲隨機數結果的變量,用于生成隨機性的公鑰哈希,以及為完成請求而付給預言機的費用。

比特幣社區仍在討論如何激活Taproot:金色財經報道,自Taproot于今年1月正式成為比特幣改進提案以來已經過去了6個多月。盡管爭議很少,但社區仍在討論如何實施適當程序。問題的根源在于是否需要進行一個能夠被所有利益相關者都可以接受的軟分支。根據Reddit比特幣社區的一個帖子,“激活Taproot的最大問題是之前的軟分叉SegWit導致的創傷后應激障礙(PTSD)”。據悉,“新式軟分叉激活”程序提出了一種混合系統,在一年內未能達成共識后,升級將被拒絕。經過另外六個月的討論,社區可以決定開始為期兩年的過程,將在到期時激活升級。此過程最長可達42個月,即三年半。盡管相對沒有爭議且功能有限,Taproot可能仍需花費數月(甚至數年)才能激活。[2020/7/16]

直播|“后浪”仙女周|熱幣-Merry如何乘風破浪:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第7期16:00 Hotcoin Global|首席品牌官 Merry將在直播間聊聊“幣圈‘后浪’仙女如何乘風破浪”,感興趣的朋友掃碼移步收聽![2020/7/1]

接下來,在構造函數中,我們應該初始化ChainlinkVRF協調器。調用VRFConsumerBase函數,傳入VRF協調器的地址和給定環境的Chainlinktoken的地址作為參數。還需要設置keyHash變量,這是生成隨機性的公鑰。這些的環境特定值可以在ChainlinkVRF文檔的合約地址部分獲得。最后,我們需要設置LINKtoken的支付金額。對于Kovan測試環境,它是0.1個LINK。

部胡光俊:正考慮如何將區塊鏈技術應用于領域:據經濟參考報消息,近日部第一研究所信息安全部副主任胡光俊接受采訪時表示,未來將把物理世界、跟人的關聯關系納入整個區塊鏈生態體系里面來。他透露,目前該部門正考慮如何將區塊鏈技術應用于領域。[2018/5/14]

接下來,我們重寫合同中的兩個函數`getRandomNumber`和`fulfillRandomness`。`getRandomNumber`函數應該把種子作為輸入參數,并且調用VRFConsumerBase中的`requestRandomness`函數,傳遞keyHash,費用金額和給定的種子作為參數。

執行時,這個函數將請求發送到給定的VRF協調器合約,然后建立一個最終種子,并將其發送到該VRF協調器的Chainlink預言機。最后的種子是用以下值的哈希值建立起來的。-用戶提供的種子-滿足請求的Chainlink預言機的公鑰哈希值-請求時的用戶nonce-提出請求的合約地址-當前區塊號使用這些額外的值的原因是為了防止合約使用相同的種子不止一次地得到相同的結果。nonce有助于防止合約在同一區塊內做多個請求,所以理論上,合約可以在同一區塊內使用相同的種子為請求多個隨機數,而且他們仍然會為每個請求得到唯一的可驗證的隨機數。`fulfillRandomness`函數接受隨機數響應參數為一個無符號整數,以及請求的ID,然后將給定的隨機數存儲在合約中。當VRFCoordinator合約接收并驗證一個隨機數時,這個函數會被調用。關于這兩個函數的更多信息可以在ChainlinkVRF文檔中找到。

傳真格基金創始人徐小平呼吁各CEO了解區塊鏈 學習如何擁抱這場革命:據某互聯網知名博主爆料,真格基金創始人徐小平在真格基金投資組合微信群呼吁各CEO積極了解區塊鏈,并立即動員全體高管和員工,學習如何擁抱這場革命。[2018/1/9]

現在,我們在Solidity中擁有了一個完整且可行的隨機數生成示例,現在可以部署和測試該合約了。測試隨機數生成消費者合約以上完整的合約可以很方便地在Remix中打開、編譯,并部署在Kovan網絡上。部署好后,一定要給合約轉入一些LINK。一旦合約至少有0.1個LINK的資金,我們就可以調用`getRandomNumber`函數,傳入一個數字作為種子。這將把請求和種子一起發送給運行在Chainlinkoracle上的VRF協調器。

事務被處理后,需要等待幾秒鐘,讓Chainlink預言機完成對隨機數的請求,然后調用我們之前創建的'fulfillRandomness'函數,將隨機數返回給我們的消費者合約。然后我們可以調用`randomResult`getter函數來查看Chainlinkoracle用給定種子生成的可驗證隨機數的結果。現在我們有了一個可驗證的隨機數,它可以在我們的消費者合約和任何其他應用中使用。

驗證隨機性

現在,我們有一個隨機數返回到我們的合約,你可能會想知道,我們如何確定它是由執行請求的Chainlinkoracle的給定種子和公鑰哈希生成的。當使用ChainlinkVRF時,答案是你不需要這樣做。驗證作為`VRFCoordinator`合約完成請求的一部分,會自動進行。如果驗證失敗,那么隨機數就不會返回到消費合約,交易也會被還原。因此,使用ChainlinkVRF的區塊鏈開發者可以放心,他們通過ChainlinkVRF獲得的隨機數是可驗證的隨機數。關于驗證的底層技術細節,可以參考我們對ChainlinkVRF的技術演練。總結

ChainlinkVRF幫助Solidity開發者以安全、可靠和經過驗證的方式在智能合約中快速、輕松地生成隨機數。

Tags:INKLINKCHAChainONELINKBLINKY幣interstellarchainxpowerchain

火幣APP
秘密比特幣“巨鯨”浮出水面,引發大規模市場波動_WET

2020年,大型投資者和一家全球金融機構發布的一系列聲明點燃了比特幣價格下的觸角。近期,一系列知名的投資者紛紛宣布,他們對比特幣進行了大量投資。消息發布后,比特幣交易量翻了一番.

1900/1/1 0:00:00
比特幣持續上漲是否會引發其他幣種的連鎖反應?_MON

昨天晚間,比特幣開始發力,截止發稿前,最高漲至27502美元,距離上一次漲幅突破2萬美元時剛好10天,這個漲幅速度放在傳統世界中簡直不可想象.

1900/1/1 0:00:00
Aave經歷驚魂一刻,這個漏洞差點釀成一場危機_ING

12月3日,知名DeFi借貸協議Aave部署了V2版本,盡管我們并沒有被雇傭來查看其代碼,但在次日,我們還是對其進行了簡單審查.

1900/1/1 0:00:00
加密項目團隊必讀:如何讓代幣不被認定為證券?_加密貨幣

編者按:本文來自金色財經,Odaily星球日報經授權轉載。當加密貨幣項目進入到代幣發行階段之后,創始團隊常常會感到“不安”,這是因為如果創始團隊持續參與加密項目、或是后續發行代幣的話將會面臨著被.

1900/1/1 0:00:00
遭遇SEC“狙擊”和交易所下架,Ripple該不會要歸零吧……_XRP

作者|秦曉峰編輯|郝方舟出品|Odaily星球日報 北京時間今天上午9點,美國證券交易委員會官方Twitter發文表示.

1900/1/1 0:00:00
“重新定義”引猜想,OKEx重磅新品即將揭曉_okex

2020年年初以來,受疫情的影響,多數國家經濟陷入衰退。為了刺激經濟復蘇,各國政府紛紛進行逆周期調節,市場流動性充裕,同時也推高了虛擬資產的價格.

1900/1/1 0:00:00
ads