宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Coinw > 正文

Sui开发者必看:如何构建Capy原型?

作者:

时间:1900/1/1 0:00:00

原文:《在Sui上构建Capy原型》

作者:Alan

在这个去中心化的游戏中,玩家购买、交易、繁殖和装饰可爱的南美半水生啮齿动物Capybaras。Sui开发者可以将这里概述的许多原则和代码实例用于他们自己的项目。

作为Sui区块链上的可编程对象,Capys展示了资产所有权、可转让性和动态对象领域等原则。它们与配件一起出现在玩家的钱包里,包括帽子、自行车和围巾。现在要预览Capys,请到Capy.art。使用SuiMove开发SuiCapys需要定义基本模块,创建类型,最重要的是,建立一个注册表来记录和验证Capys。该原型的一个独特的功能是能够繁殖两个现有Capys,根据繁殖对的特征生成一个全新的Capys。要重申的是,这是一个开发者预览,以展示Sui的独特方面,供开发者在建立自己的项目时参考。Capys是不售卖的。

免责声明

这个DApp目前被认为是早期的Alpha,所以它的样式边缘可能有点粗糙。

该dApp运行在Sui的开发网,没有主网的成熟度和稳定性。

在使用Capys时,有一个已知的Sui钱包交易历史的错误,我们将在下周发送一个钱包修复程序来解决这个问题。

我们正计划在不久的将来将Capy.art更新为钱包适配器标准。

SuiCapys是一个专门用来激励我们开发者社区的演示。这不是一个空投。请负责任地使用水龙头,不要向我们的Devnet龙头发送垃圾邮件。

Capy架构

Sui网络活跃地址数突破100万个:7月14日消息,Sui发推称,Sui网络活跃地址数(已签署交易的地址)突破100万个。根据Sui官方浏览器,当前,Sui网络总账户数(已发送或接收交易)为156万个。[2023/7/14 10:54:55]

Capy应用程序由三个模块组成:capy、capy_items和capy_market。这些模块定义了Capys、配件和交易机制。在开发过程中,我们首先定义了一些具体的原则,以使原型变得令人愉快和有性能。

以下原则有助于确定架构和实现:

Capys应该可以自由转移,并且可以在任何链上应用中使用。

类型应该包含最小的数据量以保持性能。

事件可以用来发射静态数据,由索引器来获取。

原型应该是可扩展的,所以以后可以添加新的属性。

希望在Sui上构建游戏和应用程序的开发者应该从定义诸如这些核心概念开始,这将指导开发过程。

CapyCore

Capy模块定义了SuiCapys的核心功能:它定义了一个Capy类型,以及授予发布者一个CapyManagerCap,为承载者开放管理功能。它定义了CapyRegistry,集中的原型状态,以及它的演变方式。

Type:Capy

Capy是应用程序的主要类型,是一个具有定义的属性集的自有对象。32个基因和原型特征所需的额外实用信息。Capy有两种能力,key和store。前者使其成为可拥有的资产,后者允许自由转移和包装。

Shinami在Sui启动应用内钱包基础设施:5月12日消息,Sui生态基础设施Shinami宣布在Sui上正式启动应用内钱包基础设施,支持自定义身份验证,移除签名弹出窗口,消除助记词体验。此前,Shinami已上线Sui生态API和节点服务以及Gas费加油服务“GasStation”。[2023/5/12 14:58:58]

gen属性标志着Capy的世代。第一代Capy的基因为gen0;较新的品种有其父母的基因加1为gen1,所以有了gen1、gen2等等。

src属性使资源管理器能够显示图像。Capys本身并不存储它们的完整图像,因为它是动态的,在添加新项目时可以改变。

genes属性存储了基因序列,这是一个32字节的向量,用于计算属性和在育种期间为新生儿选择基因。

item_count是一个实用的属性,跟踪附着在每个Capy上的对象的数量。

attributes属性存储了育种期间产生的人类可读的属性。例如,{“name":"pattern","value":"panda"}。

这组字段是SuiCapys功能的最低要求,包括育种或添加/删除Items。

Type:CapyRegistry

SafePal硬件钱包与移动端钱包已集成Sui Network:5月5日消息,去中心化加密钱包 SafePal 发文称,其硬件钱包和移动端钱包已集成 Sui Network,浏览器钱包扩展程序的支持正在开发中,将很快发布。SafePal 用户可以存储、发送和接收 SUI 代币,并通过应用内用于 SUI 的跨链交换来交换资产。[2023/5/5 14:44:53]

CapyRegistry是育种所需的共享对象,它存储了曾经出生的Capys的总数,并包含一个伪随机种子,在下面的基因科学部分进行描述,用于育种期间的基因选择。它包含了在育种阶段分配给新生儿的所有属性定义。

新的属性可以被添加到原型中,如下文管理功能部分所述:

Type:CapyManagerCap

CapyManagerCap是模块发布时发送给模块发布者的一种功能。它授权所有模块的管理行为,包括capy_items和capy_market。

Initializer

Capys是一个独立的应用程序,因此其主要逻辑可以在模块初始化中启动。init函数做如下两件事:

创建一个CapyManagerCap并将其发送给模块发布者。

创建并共享一个CapyRegistry。

Sui基金会为表彰早期贡献者设立Builder Hero Award奖项:2月8日消息,Sui基金会宣布设立Builder Hero Award,旨在表彰早期为Sui生态系统做出贡献的社区成员,包括在Devnet上构建原型和产品、构建开发工具、帮助教育其他构建者的贡献者。

SuiNetwork将在2月17日公布获奖者并单独联系已发放奖品,最多将有15个获奖者,奖品包括一次性现金奖励、Sui Builder House邀请函和Sui礼品。[2023/2/8 11:54:26]

AdminFunctions

为了使应用程序变得可玩并具有一定的意义,管理员必须执行一系列的动作:

add_gene函数在CapyRegistry中注册了一个新的GeneDefinition。在育种过程中,注册表中的所有现有属性都被分配给新的Capy。如果一个新的GeneDefinition被添加到原型中,在这次添加之前出生的Capy不会得到它,但他们的孩子会。每个基因定义都有一个名称和一组选择器,用来选择每个属性的值。

batchfunction允许批量创建带有预定义基因的Capys。它用于初始化,并在后期阶段为新用户填充更多的Capys市场交易。

Breeding

创造不可预测性和帮助原型进化的主要逻辑是capy::breed函数。任何拥有两只卡比的玩家都可以执行这个功能。这个函数的逻辑如下:

根据CapyRegistry.capy_hash为新的Capy选择父基因。

声音 | Bitcoin Suisse CEO:比特币减半将推动整个加密货币市场上涨:据NewsBTC 1月17日消息,瑞士加密金融服务提供商Bitcoin Suisse首席执行官Arthur Vayloyan表示,比特币减半将推动整个加密货币市场上涨。尽管许多投资者因比特币未能重获历史高位而感到沮丧,但加密领域正在发生许多积极的事,今年还会看到这些事发生,网络扩展还将继续。即将到来的比特币减半会推动比特币价格上涨。[2020/1/17]

从CapyRegistry中获取当前GeneDefinitions的列表并设置属性。

发出一个带有新Capy数据的事件。

返回一个新的Capy。

GeneScience

在我们进入应用中最有趣的部分之前,我们必须注意,这个解决方案并不能提供绝对的不可预测性,因此不应该用于高风险的应用。但它确实通过将用户输入变成一个伪随机修改器来创造某种程度的随机性。

这个原型的一个真正有趣和独特的功能是能够繁殖两个现有的卡比来产生第三个。新的Capy会继承其父母的特征。繁殖功能需要两个亲代Capys,并计算新生儿的基因。为了使这个动作公平和随机,我们需要有一个选择算法和一个种子。CapyRegistry提供了种子,并在每次繁殖后更新。该算法如下:

使用散列函数三次加盐生成三个32字节的向量,这些向量来自capy_hash。

使用第一个向量进行亲本基因选择。如果第N个字节的值超过126,则选择第一个父母的基因。否则,选择第二个亲本的基因。如上图所示,第一个基因将是P2,第二个P1,第三个P2,第四个P1再次出现。

第二个向量定义了一个突变的机会。如果位置N的值超过250,使用第三个向量中的相同位置来选择突变的值。在这个例子中,第三个基因将发生突变,其值将是42。

CapyItems

这个非常简单的模块定义了可以添加到每个Capy的可穿戴物品,以及我们如何实现前端显示。项目只能由Capy管理员添加,因为它需要有CapyManagerCap的授权。

ManagingItems

在Capys中添加和删除附件时,使用了动态对象字段,这是一种更有效、更方便的替代Sui中父子对象的方法。动态字段允许任意的名称,并且可以即时添加和删除。下面的代码将一个项目添加到一个Capy中。

CapyMarket

为了收购和出售Capys和CapyItems,我们创建了Capy市场。这个模块利用了动态对象字段,并锁定了支付价格后可以获得的物品。在这个市场架构中,每一个项目类型存在一个市场对象,(CapyMarketsellsCapyswhileadifferentobject,CapyMarket,sellsCapyaccessories)),列表作为动态对象字段附加到市场,而列出的对象附加到列表。

+-->Listing-->TCapyMarket+-->Listing-->T+-->Listing-->T

MarketplaceandtheListFunction

每个Marketplace实例只为一种类型服务。在这个应用中,一个Marketplace实例为Capy类型存在,另一个为CapyItem类型存在。

List函数使用了动态字段。它使列出的项目成为清单的一个字段,然后使Listing成为CapyMarket的一个Listing字段。

CapyInspiration

创建Capy原型,以展示Sui的一些关键功能,并在他们自己的项目中激励开发者。Capy利用Sui的面向对象的特性,允许玩家可以交易和购买的便携式配件,并根据父母的属性生成新的Capy。我们设计的原型是可以无限扩展的,因此它将使用户和开发者都感到高兴。

我们希望这里的例子和代码能对Sui的开发者有所帮助。几个突出的实现包括Capy市场、附件和育种。Capy市场可以作为任何交易或存储机制的模型。配件展示了对动态字段的良好使用。育种提供了一种独特的手段,可以自动生成具有无限应用的新对象

?

标签:CAPCAPYAPYSUICap FinanceCAPY价格SUIA价格

Coinw热门资讯
如何理解DeFi中真实收益模型与代币激励模型的区别?

撰写:Eli5DΞFi?让我们来谈谈DeFi的收益。DeFi的收益有哪些类型?我们如何通过真实收益走向更可持续的模式? 在DeFi中,看到天价的APY是很常见的,但一般人看到会犹豫.

1900/1/1 0:00:00
10亿Web3用户入口:账户抽象是智能合约钱包的终局吗?

原文:《IOSGWeeklyBrief|账户抽象会是智能合约钱包的终局吗?#158》作者:Sid,IOSGVentures钱包的使用体验真的不行了吗想象一下,你在Facebook上观看每一个视频、或对喜欢的帖子或图片进行评论.

1900/1/1 0:00:00
纽约民主党议员提出允许以加密货币支付罚款和税收的新法案

金色财经报道,民主党议员ClydeVanel向纽约州议会提交了一项法案,提议允许国家机构接受加密货币作为罚款、民事处罚、税收、费用和国家收取的其他款项的支付方式,包括:罚款、民事处罚、租金、税率、税收、财务义务或其他金额.

1900/1/1 0:00:00
2023 牛市开启?

文:FT中文网专栏作家冯郁青华尔街有这样的说法,一月如此,一年也如此。就是说,如果股市在一月分有正回报,那么一年以内也会上涨.

1900/1/1 0:00:00
金色观察 | 详解USDC官方原生跨链协议CCTP

文/Lytera,Web3分析平台;译/金色财经xiaozouUSDC是当前第二大稳定币,市值430亿美元。Circle开发并铸造了USDC,近日宣布了一种新的桥解决方案,称为“跨链传输协议”.

1900/1/1 0:00:00
探讨区块链的关键价值来源 何时去中心化会更有价值?

作者:MarcoReuter 来源:a16z 编译:DeFi之道 如果你想创建一个“新Facebook”或“新Google”,你应该使用一个常规公司还是通过区块链利用去中心化的实现?答案似乎很简单:加密货币爱好者会响亮地回答“是”.

1900/1/1 0:00:00