Chainlink

如何使用Chainlink VRFv2生成隨機數並同時獲取?

  • September 16, 2022

我需要在單個函式命中時生成隨機數並僅將其獲取到那裡。我無法做到這一點,因為需要的塊確認設置為 min。3. 有沒有辦法得到這個或繞過區塊確認?有做過的人,請回答。

智能合約需要並且是確定性的。因此,要真正生成可驗證的隨機數,計算必須在鏈下進行,這就是為什麼 chainlink vrf 至少需要 30 秒才能返回隨機數。

Chainlink vrf 遵循請求和接收機制。

首先,您將請求生成一個隨機數。

其次,您將收到隨機數。

那裡有兩筆交易,乙太坊的阻塞時間約為 15 秒。

因此,在獲得隨機數之前,您至少需要等待兩個區塊進行探勘。

你可以在這裡閱讀更多資訊:隨機數:使用 Chainlink VRF

因此,使用 chainlink vrf 對您的問題的回答是否定的!

但是您可以使用其他區塊鏈,例如具有更低阻塞時間的多邊形來實現您想要的相同結果。

告訴我它是否有幫助!

鑑於 ChainlinkVRF 的工作方式,這是不可能的。你可以做的是調整你的契約以繼續做它必須做的事情,fulfillRandomWords()但這會使履行變得更加昂貴。另一種方法是在收到您的新隨機數後使用 Chainlink Keepers 觸發功能。

引用自:https://ethereum.stackexchange.com/questions/135664