7*24快訊使用多個C...

使用多個Chainlink 服務進行區塊鏈遊戲

Chainlink 服務使去中心化遊戲生態系統能夠避開區塊鏈遊戲面臨的一些常見陷阱,並為玩家創造更深入、更有價值的體驗。對於他們的Chainlink Hackathon 2021 項目,Cozy Reef Labs 將多個Chainlink 服務集成到他們的第一款遊戲Slingshot Sailers 中,使用 鏈環守護者 用於分散的遊戲狀態管理, Chainlink VRF 對於可證明的隨機性,以及 Chainlink 外部適配器 利用不同的區塊鏈進行結算和遊戲層。在本技術演練中,深入了解Cozy Reef 構建的幕後故事,並了解他們的團隊如何利用這些不同的Chainlink 服務來構建高級遊戲dApp。

經過 舒適珊瑚礁實驗室

歡迎來到舒適的珊瑚礁

歡迎來到舒適的珊瑚礁

Cozy Reef Labs 的成立旨在利用區塊鏈技術的獨特功能創造基於社區的深度遊戲體驗。

團隊的每個成員都在視頻遊戲行業擁有豐富的工作經驗,並希望將有趣、有意義的玩家體驗放在首位。為了做好這件事,團隊設定了一個雄心勃勃的目標:我們將建立一個遊戲生態系統,而不是構建一個遊戲,玩家可以隨著時間的推移重新回到遊戲中。這些遊戲易於學習但難以掌握,適合玩家想要探索和體驗的更大世界,並且具有競爭力和獎勵玩家的時間。

我們意識到Chainlink 技術可以幫助我們實現這些目標以及更多目標。我們將能夠構建完全鏈上的遊戲,為玩家提供前所未有的透明度,同時營造一個以遊戲賺錢為理念的競爭性遊戲環境。通過將公共區塊鏈與Chainlink 服務的生態系統相結合,我們能夠構建一個去中心化的平台,將重點放在遊戲體驗上。

Cozy Reef 將推出一系列消除遊戲,邀請倖存者作為Cozy Reef Killer 參與平台的未來發展方向。每款遊戲稍後都可以在更廣泛的生態系統中重玩,玩家可以在其中玩、競爭並獲得獎勵。

Chainlink Keepers 推動核心遊戲循環

彈弓水手

Slingshot Sailors 是Cozy Reef 第一季的第一款消除遊戲。玩家必須從五個具有不同屬性的彈弓中選擇一個,才能將自己從追逐的Cozy Reef Killers 中彈開。投石索中的玩家越多,其距離獎勵和開火機會就越高。但這並不全是陽光和大乘數- 吊索中的玩家數量也會增加其失誤的機會,從而導致距離懲罰。為了在整個遊戲中成功避開舒適礁殺手,玩家必須平衡風險和獎勵,並在每一輪中對其他玩家的決定做出反應。核心遊戲循環通過以下階段循環:

  • 運動——玩家可以選擇跳上哪個吊索。投石索上的玩家數量會改變投石索發射或反擊的機率,並影響距離乘數。
  • 鎖定——玩家不再能夠選擇吊索。這段時間是為了讓鏈在區塊確認上達到最終確定性,以防止VRF 調用和區塊重組的搶先運行。
  • VRF_REQUESTED——向Chainlink VRF 發出一個隨機數請求,該隨機數決定了每個sling 的結果。
  • VRF_RECEIVED – 隨機數已成功處理併計算出回合結束。我們創建了這個額外的狀態,因為輪計算超過了VRF 調用中允許的最大氣體 (200,000 氣體)。注意:開發者可以在將他們的dApp 註冊到Keepers 時配置最大gas。

彈弓水手截圖2

僅智能合約不足以在基於時間的環境中充當遊戲運行者,因為它需要外部調用來促進相變。 Chainlink Keepers 允許我們以去中心化的方式檢查和触發相變。我們通過連接`checkUpKeep` 函數來檢查我們是否需要將游戲移動到下一個階段,這主要由`block.timestamp` 驅動:

function checkUpkeep(bytes calldata) external view override returns (bool, bytes memory) {
    bytes memory empty;
    return (canTick(), empty);
  }

function canTick() public view returns (bool) {
    return
      state.game.phase != Phase.NONE &&
      state.game.phase != Phase.END &&
      block.timestamp >= state.game.phaseScheduledEnd;
  }

當`checkUpKeep` 函數返回true 時,Keepers 會調用`performUpKeep` 將游戲過渡到下一階段:

function performUpkeep(bytes calldata) external override {
    tickState(false);
  }

function tickState(bool force) public {
    if (!(force || canTick())) return;

    if (state.game.phase == Phase.LOCKOUT) {
      require(LINK.balanceOf(address(this)) >= vrfState.fee, "Not enough LINK");
      requestRandomness(vrfState.keyHash, vrfState.fee);
    }

    if (state.game.phase == Phase.VRF_RECEIVED) {
      sweepLanes(state.game.random);
      state.game.sweep++;
      state.game.lastRandom = state.game.random;
    }

    Phase previous = state.game.phase;
    state.gotoNextState();
    emit StateUpdated(previous, state.game.phase);
    return;
  }

在`tickState` 函數中,根據遊戲階段發生不同的動作。例如,如果階段當前處於LOCKOUT 階段,則會發出VRF 請求,並且狀態將更改為VRF_REQUESTED。合約會發出“StateUpdated”事件,玩家的瀏覽器會根據更新後的合約狀態調用視圖函數來響應。為了節省燃料和成本,遊戲合約僅存儲原始遊戲事件(彈弓發射、玩家移動歷史等)。運行遊戲的瀏覽器然後從遊戲合約中獲取這些事件並懶惰地計算玩家在他們的屏幕上看到的遊戲狀態(這個過程在 白皮書.) Slingshot Sailors 的完整遊戲合約將在遊戲第一個實例發布後不久開源。我們鼓勵社區在他們自己的遊戲項目中參考這份合同!

Chainlink VRF 支持動態玩家互動

Cozy Reef Chainlink Keepers 和VRF 圖

玩家必須圍繞風險管理做出決定,並選擇他們認為具有最佳回報(射擊機會、距離乘數)與風險(適得其反的機會、距離懲罰)的彈弓。基於概率和其他玩家的行為方式做出決定是Slingshot Sailors 興奮的核心。 Chainlink VRF 允許我們以去中心化的方式生成可證明的隨機數,以推動每一輪的獨特結果。通過一個VRF 調用,我們能夠確定五個彈弓中的每一個是開火、適得其反還是什麼都不做。

如上一節所述,當遊戲階段從`LOCKOUT` 過渡到`VRF_REQUEST` 時,會調用`requestRandomness` 函數,傳入keyHash 值和費用。 VRF 將通過`fulfillRandomness` 回調生成並傳回一個隨機數,如下所示:

function fulfillRandomness(bytes32, uint256 randomness) internal override {
    state.game.random = randomness;
    state.gotoNextPhase();
  }

function gotoNextPhase(State storage self) public {
    …
    } else if (self.game.phase == Phase.VRF_REQUESTED) {
      self.game.phase = Phase.VRF_RECEIVED;
      self.game.phaseScheduledEnd = uint48(block.timestamp);
    }
    …
    self.game.phaseStart = uint48(block.timestamp);
  }

function tickState(bool force) public {
    …
    if (state.game.phase == Phase.VRF_RECEIVED) {
      sweepLanes(state.game.random);
      state.game.sweep++;
      state.game.lastRandom = state.game.random;
    }

    Phase previous = state.game.phase;
    state.gotoNextState();
    emit StateUpdated(previous, state.game.phase);
    return;
  }

回調函數設置隨機數並觸發下一個階段變化,Chainlink Keeper 更新,最終調用`tickState` 函數並通過`sweepLanes` 解決回合。

Chainlink 外部適配器啟用多鏈生態系統

Cozy Reef Chainlink 外部適配器圖

我們正在開發Cozy Reef,將可訪問性作為我們的核心原則之一:玩家不應該支付高昂的價格來玩我們的鏈上游戲。通過一些初始成本分析(參考我們的 白皮書),我們估計在Polygon 等側鏈上玩SlingShot Sailors 比在以太坊主網上便宜7500 倍。然而,我們認識到以太坊主網仍然是理想的結算區塊鏈。

我們的解決方案是在以太坊主網上鑄造創世NFT,並在Polygon 上運行遊戲。為了驗證所有權並允許玩家參與遊戲,我們建立了一個儲備服務證明,利用 View-Function 外部適配器. 在以太坊主網上擁有Cozy Reef NFT 的玩家調用Polygon 上的驗證器,驗證代幣所有權並允許玩家進入遊戲實例。採用這種方法可以實現多鏈功能,同時將玩家體驗放在首位:

  • 所有合約調用都在側鏈上進行,這比玩家必須通過以太坊主網上的合約調用橋接要便宜得多。
  • 臨時遊戲實例和每個遊戲實例的驗證消除了跨鏈所有權不同步的主要挑戰。
  • 使用儲備證明模型而不是NFT 橋可以消除由託管賬戶管理NFT 的安全風險。
  • 側鏈代幣的成本足夠低,Cozy Reef Labs 可以可持續地利用收入向玩家空投代幣,以抵消成本並抽象代幣橋接的複雜性。

NFT 儲備證明的原型以及技術故障可在 GitHub. 未來的發展將包括通過使用Chainlink DON 為協議提供動力來進一步分散該組件。

未來發展

Cozy Reef 的第一個重要里程碑是推出第一季鏈上消除遊戲,並邀請倖存者加入Cozy Reef Killers。隨著Cozy Reef 成長為更廣泛的遊戲平台,我們將需要構建額外的基礎設施。我們很高興能夠繼續利用Chainlink Keepers 的能力來完全去中心化整個生態系統。

比賽安排— Slingshot Sailors 將在每個實例的基礎上運行,並為每個遊戲週期設定開始和結束時間。我們打算定期重播這款遊戲和未來的遊戲,讓玩家繼續競爭並獲得獎勵。 Chainlink Keepers 是以可預測和可靠的方式分散遊戲調度的絕佳候選者。

賽后處理—玩家將根據他們在每場比賽中的表現獲得代幣。 Chainlink Keepers 是可擴展地分散和管理遊戲後處理(例如獎勵分配)的絕佳候選者。

獎學金和質押管理——我們希望為Cozy Reef 所有者創造機會,讓他們質押他們的代幣並參與鏈上支持的獎學金計劃。 Chainlink Keepers 釋放了我們構建綜合系統來管理這些程序和分配獎勵的能力。

舒適的珊瑚礁藝術品

隨著Cozy Reef 第一季即將推出,該團隊希望擴大區塊鏈遊戲領域的可能性。 Chainlink 技術使我們能夠以透明、引人入勝且可供更廣泛的遊戲社區訪問的方式將體驗完全上鍊。

學到更多

如果您是開發人員並希望將您的智能合約連接到底層區塊鏈之外的現有數據和基礎設施,請聯繫 這裡 或訪問 開發者文檔.



Source Link

最受歡迎

繼續閱讀

長期持有者持有的比特幣(BTC)供應量達到最高水平

根據Glassnode 的估計,比特幣的長期持有者(LTH)目前擁有1452 萬枚BTC,創歷史新高,只剩下25% 留給短期持...

抓住Web3 遊戲的先發優勢:成功策略

Web3和區塊鏈技術的出現徹底改變了遊戲行業,為開發者和企業家提供了前所未有的機遇。 Web3 遊戲的去中心化性質為創新遊戲貨幣化模式、玩家所有權和社區參與打...

現在讀

$COOKIE, the Cookie3 Mark...

Tallinn, Estonia, March 26th, 2024...

長期持有者持有的比特幣(BTC)供應量達到最高水平...

根據Glassnode 的估計,比特幣的長期持有者(LTH)目前擁有1452 萬枚BTC,創歷史新高,只剩下25% 留給短期持有者和投機者。 儘管BTC 的價格在過去一個月中保持相對平穩,範圍在約29,000 美元至31,000 美元之間,但人們還是開始瘋狂囤積。 ...

Caldera 宣布與Espresso Syste...

Caldera 開發人員可以利用Espresso Sequence...

抓住Web3 遊戲的先發優勢:成功策略

Web3和區塊鏈技術的出現徹底改變了遊戲行業,為開發者和企業家提供了前所未有的機遇。 Web3 遊戲的去中心化性質為創新遊戲貨幣化模式、玩家所有權和社區參與打開了大門。對於那些尋求利用Web3 遊戲巨大潛力的人來說,確保先發優勢至關重要。 了解Web3 遊戲生態系統在深入研究Web3 遊戲之前,有...

Taapsee Pannu 推出NFT 平台,介紹...

企業家貢獻者表達的意見是他們自己的。 您正在閱讀《企業家印度》,這是企業家媒體的國際特許經營刊物。 女演員Taapsee Pannu 最近推出了“taapseeclub.com”,這是她自己的非同質代...

比特幣(BTC) 地址休眠超過11 年,轉移310...

經過11 年多的閒置之後,一個包含3100 萬美元BTC 的休眠比特幣地址最近突然活躍起來。 2023年7月22日,地址 轉入 將其全部餘額轉移到新地址。 早期BTC 地址復活 比特幣自2009 年以來就已經存在,因此存在多年來不活躍的休眠地址,其中包含大量BTC。這種加密貨幣的一些早期採用者能夠...

加密貨幣死了嗎?當今加密貨幣的現狀

您之前可能聽說過加密貨幣正在消亡(或比特幣已消亡)。在這篇文章中,我們將研究加密貨幣的狀態,並嘗試回答這個問題:加密貨幣現在已經死了嗎? 在我們開始之前,我們想澄清一下,本文指的是最廣泛意義上的“加密貨幣行業”; 在裡面 網絡3 感覺。該定義包括加密資產市場; 但它還包括其他非財務用例。 隨著近來加...

Chancer 可能成為體育和社交博彩領域的下一個...

加密貨幣 隨著企業財報季節的繼續,本週股市表現好壞參半。在Ne...

以太坊(ETH) 創下兩個月來CEX 流入最高紀錄...

過去一周,以太坊(ETH)流入中心化交易所(CEX)的資金量創下了過去兩個月來的最高水平。這些重大的資產變動表明ETH 的價格可能會下跌。 CoinGecko 數據顯示,第二大加密貨幣的價格一直在小幅下跌,過去一周價值下跌了2.5%。截至撰寫本文時,以太幣易手價格為1,892.65 美元,過去24...

新的DeFi 法案有“不可行的義務”

加密貨幣創新委員會表示,新的反洗錢法案沒有為DeFi 中的非法金融...

幣安大幅削減成本,瑞波幣為美國銀行和加密貨幣風險投...

美國證券交易委員會(SEC)對加密貨幣公司的打擊似乎嚴重影響了幣安的業務。據報導,在過去幾週內,該加密貨幣交易所解雇了1,000 多名員工,並削減了一些福利。 幣安表示,“當前的市場環境和監管環境”導致利潤下降,這表明可能正在進行更多削減。一位發言人告訴Cointelegraph,該公司將考慮縮減“...

Automata 雙週更新:第48 期| 通過自動...

迎接新的季度意味著設定我們的意圖並為團隊規劃下一步的行動。幕後醞釀的一切——合作、產品功能和營銷發布——很難抑制我們的興奮。我們一開始就在1RPC(2 個備受期待的第2 層主網)上添加了對Linea 和Base 的支持。科技載體更新頁腳以顯示界面版本平滑的用戶體驗 USDC CCTP 支持 關於仲裁...