以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > BNB > Info

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

Author:

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

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

外媒:香港金融監管機構本周討論了如何解決加密公司開設銀行賬戶面臨的挑戰:6月16日消息,據彭博社援引知情人士報道,香港金融監管機構已于本周一召集銀行、加密平臺和其他行業參與者在一起,主要討論如何解決加密公司在開設銀行賬戶方面面臨的持續挑戰。這是香港監管機構自 4 月下旬以來第二次推動銀行更多參與加密領域的會議。[2023/6/16 21:41:23]

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

Uniswap基金會:將在未來幾周討論如何部署超437萬枚ARB:金色財經報道,Uniswap 基金會表示將把 Arbitrum 分配的 4,378,188 枚 ARB 發送到 Arbitrum 上 Uniswap 基金會擁有的多重簽名地址(90xF4E08 開頭),接下來幾周將啟動關于如何部署這些資金的社區討論。[2023/4/18 14:11:14]

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

日本經濟安全大臣:日本方面有必要考慮如何使用數字貨幣:日本經濟安全大臣小林鷹之:日本方面有必要考慮如何使用數字貨幣,以便在國際規則制定中發揮主導作用。(金十)[2021/10/14 20:29:08]

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

聲音 | 段新星:看到有價值的場景時思考如何用區塊鏈去更好地打造才是正確的:Bytom創始人段新星在“區塊鏈平昌論壇2019(Blockchain Pyeongchang Forum, BPF2019)”的圓桌論壇上表示,在投機和炒作層面區塊鏈處于熊市,但是在區塊鏈應用層面仍然在向前發展。同時,他指出,不能像拿著錘子砸釘子一樣,把區塊鏈強加于所有項目,而應該在看到有價值、有意義的場景時,思考如何用區塊鏈去更好地打造才是正確的。只有做到這點,離區塊鏈下一次爆發也就不遠了。[2019/1/28]

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

金色相對論 | 陳鈺璋:STO核心問題是如何與先行者爭奪優秀項目:本期金色相對論中,高鏈資本創始合伙人陳鈺璋就“STO來襲將如何影響市場”的問題發表看法,陳鈺璋表示,STO給一些小國一個不錯的窗口,不過問題是這些國家需要流量。沒有流量的合法合規也沒有太大用處。

如果區塊鏈是創新,我們就要用創業的思維去理解它、改善它。看待STO的最核心問題是:如何與納斯達克、紅杉、軟銀這些交易所和巨額基金爭奪真正的好項目?這是一個先有雞還是先有蛋的問題:需要有足夠的流動性,才能夠吸引真正的好項目。但是誰來提供從零到一的流動性呢?我能看到的是超級財團,例如軟銀、黑石、GIC這些基金聯合小國家的政府立法,成立國際上第一個不缺錢的穩定STO體系,吸引到最優質的頂級企業入駐,打造成功案例,然后把其他B輪、C輪的S級別企業吸引過去,才能建立良性循環。而新加坡政府如果能夠把GIC和Temasek的流動性注入到STO里,在新加坡成立STO交易所,會改變歷史。[2018/10/12]

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

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

驗證隨機性

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

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

Tags:LINKINKCHAHAItronlink波寶錢包官網PINKMCHAD價格Chainsquare

BNB
HBT:重新定義交易,OKEx領跑加密世界

做為一個有著一定加密貨幣交易經驗的交易者而言,深知一個簡潔、實用、強大的交易系統對于交易者來說是多么的重要。交易本身是一件非常復雜的事情,交易者心理波動是影響交易的非常重要一方面.

1900/1/1 0:00:00
以太坊:對話談國鵬:波卡與ETH2.0,區塊鏈“新世界”誰執牛耳?

21世紀第三個10年的鐘聲已進入倒計時,波卡與ETH2.0,最受關注的兩大區塊鏈底層協議步入正軌.

1900/1/1 0:00:00
數字貨幣:穩定幣設計依據:各國央行外匯儲備的貨幣構成

編者按:本文來自去中心化金融社區,Odaily星球日報經授權轉載。這是一篇我們自己用來學習基礎金融理論的文章。當涉及到DeFi的業務,區塊鏈行業最缺乏的就是基礎行業知識.

1900/1/1 0:00:00
比特幣:比特幣2萬之后會怎么走?

BTC在昨晚終于突破了2w,我們也在昨晚10點半和巴比特一起做了場直播,和超級君還有小別一起見證歷史,順便展望一下未來的走向。我們摘錄了直播時Tony的觀點,希望能幫大家更好的理解市場.

1900/1/1 0:00:00
GRAP:The Graph暴漲:加密數據索引市場的邏輯與價值

編者按:本文來自鏈捕手,作者:LonersLiu,Odaily星球日報經授權轉載。12月18日凌晨1點,去中心化數據索引項目TheGraph宣布主網上線,10分鐘后CoinbasePro即宣布將.

1900/1/1 0:00:00
BTC:每周市場觀察:XRP遭起訴下跌近50%,圣誕仍是牛市

要點總結 本周市場的主題是“平穩”。在假期到來之際,數字資產市場上并沒有什么波瀾。比特幣在上周突破20,000美元關口后,本周穩定在23,000美元附近;而以太坊的價格也穩定在600美元上下.

1900/1/1 0:00:00
ads