比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Author:

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

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

美國國會成員置評美聯儲CBDC報告:美聯儲未能表明其如何保護數據:1月21日消息,美國國會參議院共和黨成員Toomey置評美聯儲央行數字貨幣(CBDC)報告:美聯儲未能表明其如何保護數據,這讓人深感擔憂。[2022/1/21 9:03:35]

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

幣情觀察室 | 我是如何從650賺到100個比特幣的?:4月8日 19:00,金色盤面邀請實盤大V 幣圈棟哥做客金色財經《幣情觀察室》直播間,將分享《我是如何從650賺到100個比特幣的?》,敬請關注,掃描下圖二維碼即可觀看直播![2020/4/8]

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

Thomas 發布趣味視頻 講述EOSIO系統如何向節點支付獎勵:據金色財經合作媒體IMEOS 報道,昨日 Thomas Cox 在 YouTube 上傳了一個手繪風視頻,為大家講解 EOSIO 系統如何向節點支付獎勵。視頻中說到,按照每年通貨膨脹 5% 的規則,每天大約會有 133,000 個新的 Token 產生,那么增發總數的 1%,即約為 27,000 個新的 Token 用于支付節點支出。并且,新系統中沒有取中間值報價的說法。另外 4% 會進入 Worker Proposal Fund。[2018/5/21]

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

在惡性通脹的委內瑞拉,比特幣如何成了\"硬通貨\":3月26日消息,據國外媒體報道,在世界各地,比特幣主要是一種投機性投資,其飆升的價格往往被人們視為數字貨幣泡沫。而在委內瑞拉,由于國家的通貨膨脹率畸高,持有數子貨幣成為了當地民眾的生存手段。[2018/3/26]

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

芝加哥商品交易所集團就比特幣期貨將如何推出做了更為具體的解釋:芝加哥商品交易所集團的股權產品負責人蒂姆-麥考特在接受外媒采訪時表示:“交易所已經采取了保護措施,如更高的保證金水平、限制頭寸和價格以抑制它即將推出的比特幣期貨的風險。”隨后芝加哥商品交易所還闡述了三個層面的細節即交易、市場數據和雙邊市場的缺乏。[2017/12/3]

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

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

驗證隨機性

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

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

Tags:LINKINKCHAAINchainlink幣今日價格link幣今日價格PEPE Chainfmchainio

火必下載
IPFS周報 | 存儲板塊集體回調,FIL領跌17%;Filecoin全網算力大漲12.5%(12.21-12.28)_COIN

存儲板塊整體回調,FIL觸達歷史低點,FIL7日凈流出下降20%,可能有礦工抄底買入;Filecoin全網算力大漲12.5%.

1900/1/1 0:00:00
ETH2.0來了,目前還可以購買礦機挖ETH嗎?_ETH2

編者按:本文來自知礦大學,Odaily星球日報經授權轉載。大家好,我是Keven,萊比特礦池產品經理,也是一名小礦工。我本人持有比特幣和以太坊礦機,最近又加倉了一些以太坊礦機.

1900/1/1 0:00:00
行情分析:空頭來襲,小心操作_USDT

本文來自:哈希派,作者:哈希派分析團隊,星球日報經授權轉發。金色財經合約行情分析 | BTC回踩日K 30日均線,成交量放大:據火幣BTC永續合約行情顯示,截至今日16:00(GMT+8),BT.

1900/1/1 0:00:00
MVRV指標顯示:LTC潛力巨大?_AMV

編者按:本文來自加密谷Live,作者:LIESLEICHHOLZ,Odaily星球日報經授權轉載。BTC擊穿了之前的歷史高點,有史以來首次在23000美元上方找到支撐.

1900/1/1 0:00:00
鏈法研究:比特幣可以繼承嗎?_數字資產

無論是《民法總則》,還是即將生效實施的《民法典》,對于數據和網絡虛擬財產的保護,都持有開放的態度.

1900/1/1 0:00:00
威廉:揭秘比特幣地址持有量變化背后的趨勢真相_HOD

編者按:本文來自威廉閑談,作者:陳威廉,Odaily星球日報經授權轉載。因為比特幣地址是公開透明的,并且很多交易所、機構和個人往往也會因為個人公開或是機構公開亦或是被人們“猜測到”等原因,被人們.

1900/1/1 0:00:00
ads