写点什么

Jogger 慢跑者链游系统开发 NFT 技术

  • 2023-06-08
    广东
  • 本文字数:1780 字

    阅读完需:约 6 分钟

Jogger慢跑者链游系统开发NFT技术

全链游戏(Full on-chain game)指的是一种将游戏逻辑和数据完全存储在区块链上的游戏。这种游戏的运行和交互都是基于智能合约,因此能够充分发挥区块链技术的优势,包括去中心化、零信任、可验证、透明可追溯等。Jogger 慢跑者链游系统开发询 13z 李 4277 森 z558,Jogger 慢跑者 NFT 链游开发案例。


全链游戏与部分链上游戏(Partial on-chain game)相对应。部分链上游戏仅将部分游戏元素(如游戏资产、交易记录等)存储在区块链上,而游戏逻辑和数据处理仍然依赖于传统的中心化服务器。


部分链上游戏根据上链内容的不同,又可以分为:核心逻辑上链、资产上链和成就上链。


核心逻辑上链,一般是将游戏的关键数据与算法存储在区块链上,可以确保其公平性和透明性。例如,将游戏内的随机数生成器(RNG)或战斗结果计算逻辑放在链上,可以防止作弊和操纵。或者是将游戏中的经济系统部分上链,可以设计更多样化和创新的激励机制。例如,玩家可以通过挖矿、质押或参与游戏内活动获得代币奖励。


通过资产上链,游戏内的虚拟物品、角色或其他资源通常以非同质化代币(NFTs)或者同质化代币(FTs)的形式表示,使得玩家可以拥有、交易和管理这些资产,为玩家提供经济收益,激励玩家参与游戏生态建设。


成就上链,通常指玩家在游戏中解锁某些成就,可以选择将其登记在链上,作为其游戏水平的证明,也可以作为后续空投的凭证,但无法直接交易。和资产上链相比,成就上链对玩家的经济激励小得多,但也让游戏回归其本质。「无论怎么说,游戏最重要的是好玩」。


我们确信以下元素将在 Web3 游戏中发挥重要作用,因此对 Web3 游戏开发者至关重要。


首先,NFT 将成为 Web3 游戏的关键组成部分。无论是不可转让的,还是具有动态元数据更新的,它们都可以通过钱包实现玩家成就和统一登录,从而允许玩家的历史数据在平台和游戏环境之间传递——想想 PlayStation 奖杯、Xbox 或魔兽世界(WoW)的成就点数。这为解锁链上元数据创造了巨大的潜力。


平台游戏,即用作其他游戏基础层的游戏,在 Web3 游戏领域将取得巨大成功。The Sandbox 是这种平台游戏的早期代表之一。平台游戏可以为与生态系统代币相关的经济体系带来多样化,扩大代币的使用场景和应用范围,有助于通过增加对代币的需求,平衡代币发行量与市场需求之间的关系。


跨链桥技术将成为 Web3 游戏基础设施的关键方面。开发者已经在多个不具备互操作性的区块链上进行开发,跨链桥技术将有助于支持跨链互操作。


更大的市场控制带来更多收入。由于涉及经济利益,传统游戏发行商不愿放弃对游戏经济的控制。一个可能的解决方案是半开放的经济体系,发行商可以将多款游戏统一在一个链上。


也许对于 Web3 生态系统最重要的原语之一是跨链交换,这个服务可以使一种数字资产无缝交换为另一种数字资产。就像去中心化交易所是单个区块链网络的第一个原语一样,跨链交换有望成为互连的、跨链世界的基础组成部分。


什么是跨链交换?


简而言之,跨链交换是一种以最小化信任的方式,在不同的区块链之间交换由一个区块链发行的通证和另一个区块链发行的通证的机制。


尽管用户今天已经可以通过中心化交易所访问跨链交换功能,但这引入了多个摩擦层(例如,将通证转移到交易所,直接或间接地通过中介交换,如美元,然后将交换后的通证转移回不同区块链上的钱包)。此外,这个过程要求用户利用托管服务,并暂时放弃对其资产的控制权。对于像跨链交换这样基本的操作,这成为构建一个由主权数字资产所有权驱动的世界的一个关键障碍。


跨链流程


在编写代码前,我们需要了解跨链的基本流程,该部分内容主要参考 L1-L2 messaging 文档。


L2->L1


从 starknet 跨链到 ethereum 主网是比较简单的。


一个简单的例子如下:


let mut message_payload:Array<felt252>=ArrayTrait::new();


message_payload.append(WITHDRAW_MESSAGE);


message_payload.append(l1_recipient.into());


message_payload.append(amount.low.into());


message_payload.append(amount.high.into());


send_message_to_l1_syscall(


to_address:read_initialized_l1_bridge(),payload:message_payload.span()


);


当我们在 cairo 合约中调用 send_message_to_l1_syscall 函数时,starknet 节点会收到 to_address 和 payload 的信息,其中 to_address 是 L1 信息接收地址,而 payload 为发送的信息内容。节点收到上述信息后,会使用以下公式计算 hash 值:


keccak256(


abi.encodePacked(


FromAddress,


ToAddress,


Payload.length,


Payload


)


);

用户头像

技术开发咖 2020-10-28 加入

区块链开发技术观察员

评论

发布
暂无评论
Jogger慢跑者链游系统开发NFT技术_NFT_薇電13242772558_InfoQ写作社区