Cointime

扫码下载App
iOS & Android

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

VC

作者:Alan,SophonLabs

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

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

免责声明

  • 这个DApp目前被认为是早期的Alpha,所以它的样式边缘可能有点粗糙。
  • 该dApp运行在Sui的开发网,没有主网的成熟度和稳定性。
  • 在使用Capys时,有一个已知的Sui钱包交易历史的错误,我们将在下周发送一个钱包修复程序来解决这个问题。
  • 我们正计划在不久的将来将Capy.art更新为钱包适配器标准。
  • Sui Capys是一个专门用来激励我们开发者社区的演示。这不是一个空投。请负责任地使用水龙头,不要向我们的Devnet龙头发送垃圾邮件。

Capy架构

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

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

  • Capys应该可以自由转移,并且可以在任何链上应用中使用。
  • 类型应该包含最小的数据量以保持性能。
  • 事件可以用来发射静态数据,由索引器来获取。
  • 原型应该是可扩展的,所以以后可以添加新的属性。

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

Capy Core

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

Type: Capy

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

  • gen属性标志着Capy的世代。第一代Capy的基因为gen 0;较新的品种有其父母的基因加1为 gen1,所以有了gen1、gen2等等。
  • src属性使资源管理器能够显示图像。Capys本身并不存储它们的完整图像,因为它是动态的,在添加新项目时可以改变。
  • genes属性存储了基因序列,这是一个32字节的向量,用于计算属性和在育种期间为新生儿选择基因。
  • item_count是一个实用的属性,跟踪附着在每个Capy上的对象的数量。
  • attributes属性存储了育种期间产生的人类可读的属性。例如,{ “name": "pattern", "value": "panda" }。

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

Type: Capy Registry

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

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

Type: CapyManagerCap

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

Initializer

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

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

Admin Functions

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

  • add_gene函数在CapyRegistry中注册了一个新的GeneDefinition。在育种过程中,注册表中的所有现有属性都被分配给新的Capy。如果一个新的GeneDefinition(Attribute)被添加到原型中,在这次添加之前出生的Capy不会得到它,但他们的孩子会。每个基因定义都有一个名称和一组选择器,用来选择每个属性的值。
  • batch function允许批量创建带有预定义基因的Capys。它用于初始化,并在后期阶段为新用户填充更多的Capys市场交易。

Breeding

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

  • 根据CapyRegistry.capy_hash为新的Capy选择父基因。
  • 从CapyRegistry中获取当前GeneDefinitions的列表并设置属性。
  • 发出一个带有新Capy数据的事件。
  • 返回一个新的Capy(使用breed_and_keep发送至发送者)。

Gene Science

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

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

  1. 使用散列函数(sha3_256)三次加盐生成三个32字节的向量(标记为A、B和C),这些向量来自capy_hash。
  2. 使用第一个向量(A)进行亲本基因选择。如果第N个字节的值超过126,则选择第一个父母的基因。否则,选择第二个亲本的基因。如上图所示,第一个基因将是P2,第二个P1,第三个P2,第四个P1再次出现(直到N=32)。
  3. 第二个向量(B)定义了一个突变的机会。如果位置N的值超过250,使用第三个向量(C)中的相同位置来选择突变的值。在这个例子中,第三个基因将发生突变,其值将是42。

Capy Items

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

Managing Items

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

Capy Market

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

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

Marketplace and the List Function

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

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

Capy Inspiration

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

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

评论

所有评论

推荐阅读

  • 香港正计划让证券及期货事务监察委员会与香港海关共同监管虚拟资产OTC交易

    9月12日消息,香港目前正在探索是否让证券及期货事务监察委员会(SFC)与香港海关(C&ED)一起参与监管虚拟资产场外交易(OTC)服务。据知情人士透露,香港证券交易委员会已就可能为加密货币场外交易服务实施新的许可制度征求业内人士的意见,这将使证券监管机构与C&ED合作监督这些公司,因为讨论是私下的。 根据2月份公开的一项提案,计划中的OTC法规和许可以前是C&ED的唯一领域。场外交易服务促进了双方之间的直接和私人大批量加密货币交易。 知情人士表示,近几个月来,香港证监会还就为加密货币托管服务引入新的许可制度咨询了公司。他们说,关于这两种许可证的讨论仍处于早期阶段,可能会发生变化。

  • 美国现货比特币ETF昨日净流出4397万美元

    据Trader T监测,美国现货比特币ETF昨日净流出4397万美元。

  • Flow Traders标记地址约17小时前向富达以太坊ETF转移3000枚ETH

    9月12日消息,据Arkham监测,Flow Traders标记地址于大约17小时前向富达以太坊交易所交易基金FETH地址转移3000枚ETH,价值约合700万美元,随后这笔资金被转移至富达托管冷钱包地址(Fidelity Custody:Cold Wallet)。

  • 新加密风险基金Reforge计划筹集8000万美元

    据彭博社报道,Alexander Lin和CarlHua创立新风险基金Reforge,计划筹集8000万美元,目前已筹得2500万。通过Reforge,Lin希望寻找能让创始人和开发者更容易接受区块链的技术。其表示:“我们认为,目前第一层区块链的格局无法满足最优秀的消费者创始人的需求。” 此外,Reforge风投基金联合创始人Alexander Lin认为,资本分配者推动快速推出代币以获取回报是主要原因。其还批评了加密与人工智能跨界初创企业中的投资过热现象,并质疑去中心化计算网络满足AI工具电力需求的可行性。 据悉,Lin和CarlHua都曾在Shima Capital担任高级职务,直到今年1月才离开,成立Reforge。

  • 美国国会首次就DeFi举行听证会,各党议员意见不一

    9月11日消息,美国国会首次就去中心化金融(DeFi)举行听证会,共和党和民主党议员在此问题上表现出明显分歧。该听证会由众议院金融服务委员会主办,主题为“解码 DeFi:解析去中心化金融的未来”,旨在探讨代币化等新兴话题以及区块链在金融领域的应用。 民主党议员 Brad Sherman 持强烈批评态度,称 DeFi 主要用于犯罪、逃避制裁和逃税。民主党代表 Maxine Waters 提到了 Laura 和 Tiffany Trump 的 X 账户被黑客入侵,用于推广与特朗普家族 DeFi 项目“World Liberty Financial”相关的诈骗代币的事件。她质疑 SEC 和 CFTC 等监管机构是否有能力应对 DeFi 平台和“声称去中心化以逃避监管的实体的大规模不合规行为”。相比之下,DeFi Education Fund 首席法务官 Amanda Tuminelli 强调了 DeFi 的开放性和包容性。 此次长达两个半小时的听证会凸显了美国立法者在 DeFi 技术问题上的严重分歧,也反映了监管机构面临的挑战。加密律师 Jake Chervinsky 在社交媒体上评论道:“几年前,DeFi 只有十个项目,没人认为会有什么成就。现在它在华盛顿的权力殿堂上得到充分展示。”(Cointelegraph)

  • 今日恐慌与贪婪指数升至37,等级仍为害怕

    今日恐慌与贪婪指数为37,等级仍为害怕。注:恐慌指数阈值为0-100,包含指标:波动性(25%)+市场交易量(25%)+社交媒体热度(15%)+市场调查(15%)+比特币在整个市场中的比例(10%)+谷歌热词分析(10%)。

  • 北京警方破获一起利用虚拟币转移资金的地下钱庄案件,涉案金额8亿余元

    据法制日报报道,近日,北京警方在侦办一起职务侵占案件过程中,发现涉案人员在短期内将大量侵占资金集中转入某外籍华人境内账户。针对该线索,北京市公安局经侦总队与东城分局协同作战,辗转全国多个省市,打掉一个通过虚拟币交易实施洗钱犯罪的地下钱庄团伙。目前,涉案4名主要犯罪嫌疑人因涉嫌非法经营罪被检察机关批准逮捕。经查证,团伙主要成员吕某多年前取得外国国籍,国外生活期间,发现通过虚拟币交易可将境内人民币转移至境外并兑换为外币。后吕某会同陈某等人,利用虚拟币交易平台,协助有转移资金意向的境内人员大肆购买虚拟币,从而将资金转移至境外,涉案金额约8亿余元。同时,警方查明该团伙曾为多起电信诈骗案件、职务侵占案等提供资金通道、转移涉案赃款。

  • 澳大利亚法院裁定 Kraken 法币保证金受《公司法》约束,加密保证金扩展不受限制

    9月10日消息,澳大利亚联邦法院裁定,Kraken的法币保证金扩展受《公司法》设计与分销义务(DDO)约束,而加密货币保证金扩展不受限制。 Kraken对此表示认可,并已调整保证金产品,限制散户投资者进行法币保证金交易,但加密货币保证金交易保持不变。 Kraken同时呼吁澳大利亚为加密行业制定更加清晰的法规,称当前法律环境不利于行业创新和发展。

  • 美国投资者去年因加密骗局损失56亿美元,同比增长45%

    9月10日消息,据美国联邦调查局(FBI)周一发布的报告称,美国投资者在2023年因加密相关金融犯罪而损失了创纪录的56亿美元,比2022年增长了45%。 报告指出,去年收到的69,000多起与加密相关犯罪的报告中,近一半是投资欺诈的报告。尽管加密犯罪仅占FBI收到的投诉的10%,但56亿美元的数字大约是投诉人总损失的一半。

  • Gate Group品牌色闪耀东京塔,发布日本市场新布局

    8月28日,备受瞩目的WebX2024于东京盛大开幕,Gate Web3及Gate Ventures深度参与,并携手ACG WORLDS举办由Huawei Cloud、GGI以及Japan Dao冠名赞助的Web3 Vision VCxIP峰会,作为WebX2024官方会外活动。