原文:《在Sui上构建Capy原型》
作者:Alan
在这个去中心化的游戏中,玩家购买、交易、繁殖和装饰可爱的南美半水生啮齿动物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龙头发送垃圾邮件。
Sui主网升级至V1.5.0版本,Gas费最低预算已更改为与最低收费相同:7月20日消息,Sui主网升级至V1.5.0版本,升级要点包括:Gas费的最低预算已更改为与最低收费相同、添加了对编写linter的支持、编译器将对未使用的私有函数和未使用(未实例化)的结构类型提供额外的警告以及一些性能提升和Bug修复。[2023/7/20 11:07:04]
Capy应用程序(Github)由三个模块组成:capy、capy_items和capy_market。这些模块定义了Capys、配件和交易机制。在开发过程中,我们首先定义了一些具体的原则,以使原型变得令人愉快和有性能。
以下原则有助于确定架构和实现:
Capys应该可以自由转移,并且可以在任何链上应用中使用。
类型应该包含最小的数据量以保持性能。
事件可以用来发射静态数据,由索引器来获取。
原型应该是可扩展的,所以以后可以添加新的属性。
希望在Sui上构建游戏和应用程序的开发者应该从定义诸如这些核心概念开始,这将指导开发过程。
Capy模块定义了Sui Capys的核心功能:它定义了一个Capy类型,以及授予发布者一个CapyManagerCap,为承载者开放管理功能。它定义了CapyRegistry,集中的原型状态,以及它的演变方式。
Sui主网已升级到V1.1.0版本:金色财经报道,Sui Network官方宣布Sui主网已升级到V1.1.0版本,主网分支hash为:4c9993fa095db8fa2a4791d8ad40d956ef3f6b9e。本次升级添加了sui_getProtocolConfig的方法返回协议配置。如果在请求中指定了有效的协议版本,则返回该版本的协议配置,否则,将返回节点已同步到的最高协议配置。同时,此次升级还包含V10版本节点协议的升级,它将在2f+1+0.5f验证节点升级后的下一次调整中生效,运行fullnode的操作员和开发人员需尽快升级。[2023/5/18 15:11:56]
Capy是应用程序的主要类型,是一个具有定义的属性集的自有对象。32个基因和原型特征所需的额外实用信息。Capy有两种能力,key和store。前者使其成为可拥有的资产,后者允许自由转移和包装。
gen属性标志着Capy的世代。第一代Capy的基因为gen 0;较新的品种有其父母的基因加1为 gen1,所以有了gen1、gen2等等。
src属性使资源管理器能够显示图像。Capys本身并不存储它们的完整图像,因为它是动态的,在添加新项目时可以改变。
genes属性存储了基因序列,这是一个32字节的向量,用于计算属性和在育种期间为新生儿选择基因。
item_count是一个实用的属性,跟踪附着在每个Capy上的对象的数量。
火必即将上线SUI/USDT本位永续合约:据官方消息,火必将于5月3日正式上线 SUI (Sui Network) 现货交易后,尽快上线SUI/USDT本位永续合约。据此前消息,SUI将于北京时间5月3日20时正式启动主网,火必将在第一时间开放充值并上线SUI/USDT交易对。[2023/5/3 14:40:11]
attributes属性存储了育种期间产生的人类可读的属性。例如,{ “name": "pattern", "value": "panda" }。
这组字段是Sui Capys功能的最低要求,包括育种或添加/删除 Items。
CapyRegistry 是育种所需的共享对象,它存储了曾经出生的Capys的总数,并包含一个伪随机种子,在下面的基因科学部分进行描述,用于育种期间的基因选择。它包含了在育种阶段分配给新生儿的所有属性定义。
新的属性可以被添加到原型中,如下文管理功能部分所述:
CapyManagerCap是模块发布时发送给模块发布者(发布事务的发送者)的一种功能。它授权所有模块的管理行为,包括capy_items和capy_market。
Sui World:FTX曾经领投Sui Token的平均成本约0.114美元:金色财经报道,据Sui World发文称,近日,根据相关法庭文件披露,MystenLabs3月22日与FTX债务人达成协议,将以9630万美元的现金回购FTX对MystenLabs的股权投资和SUI代币权证。FTX在去年Mysten Labs的B轮融资中总共投资1.02亿美元,获得约57万股优先股和约8.9亿枚SuiToken的代币认购权证。作为领投方的FTX投资Sui Token的平均成本是非常低的,约0.114美元。
FTX领投Sui超过1亿美元的一个重要条件,就是旗下做市商Alameda和FTX Trading几乎免费拿到5.19亿枚Sui Token用于在FTX.com平台上做市。随着FTX在Sui启动之前就崩溃了,这个代币权证的协议也不存在了。其他部分B轮投资者的Sui Token筹码成本约为0.28-0.31美元。[2023/3/29 13:32:26]
Capys是一个独立的(非通用)应用程序,因此其主要逻辑可以在模块初始化中启动。init函数做如下两件事:
创建一个CapyManagerCap并将其发送给模块发布者。
创建并共享一个CapyRegistry。
为了使应用程序变得可玩并具有一定的意义,管理员必须执行一系列的动作:
add_gene函数在CapyRegistry中注册了一个新的GeneDefinition。在育种过程中,注册表中的所有现有属性都被分配给新的Capy。如果一个新的GeneDefinition(Attribute)被添加到原型中,在这次添加之前出生的Capy不会得到它,但他们的孩子会。每个基因定义都有一个名称和一组选择器,用来选择每个属性的值。
动态 | Bitcoin Suisse与支付公司Wordline达成合作 以促进在销售点使用加密货币:加密货币金融服务公司Bitcoin Suisse与支付公司Wordline达成合作,以促进在销售点使用加密货币。两家公司已经签署了合作意向书,其详细信息将在下周于苏黎世举行的瑞士支付论坛上发表。此次合作旨在利用Worldline的支付服务网络和Bitcoin Suisse的加密货币支付功能来扩展加密货币在瑞士的交易方式。双方在联合声明称,该服务于交易双方都将“直观且直接”,支付费用为瑞士法郎或欧元,以减轻商户对加密货币波动性的担忧。(Finextra)[2019/11/8]
batch function允许批量创建带有预定义基因的Capys。它用于初始化,并在后期阶段为新用户填充更多的Capys市场交易。
创造不可预测性和帮助原型进化的主要逻辑是capy::breed函数。任何拥有两只卡比的玩家都可以执行这个功能。这个函数的逻辑如下:
根据CapyRegistry.capy_hash为新的Capy选择父基因。
从CapyRegistry中获取当前GeneDefinitions的列表并设置属性。
发出一个带有新Capy数据的事件。
返回一个新的Capy(使用breed_and_keep发送至发送者)。
在我们进入应用中最有趣的部分之前,我们必须注意,这个解决方案并不能提供绝对的不可预测性,因此不应该用于高风险的应用。但它确实通过将用户输入变成一个伪随机修改器来创造某种程度的随机性。
这个原型的一个真正有趣和独特的功能是能够繁殖两个现有的卡比来产生第三个。新的Capy会继承其父母的特征。繁殖功能需要两个亲代Capys,并计算新生儿的基因。为了使这个动作公平和随机,我们需要有一个选择算法和一个种子。CapyRegistry提供了种子(存储为capy_hash),并在每次繁殖后更新。该算法如下:
使用散列函数(sha3_256)三次加盐生成三个32字节的向量(标记为A、B和C),这些向量来自capy_hash。
使用第一个向量(A)进行亲本基因选择。如果第N个字节的值超过126,则选择第一个父母的基因。否则,选择第二个亲本的基因。如上图所示,第一个基因将是P2,第二个P1,第三个P2,第四个P1再次出现(直到N=32)。
第二个向量(B)定义了一个突变的机会。如果位置N的值超过250,使用第三个向量(C)中的相同位置来选择突变的值。在这个例子中,第三个基因将发生突变,其值将是42。
这个非常简单的模块定义了可以添加到每个Capy的可穿戴物品,以及我们如何实现前端显示。项目只能由Capy管理员添加,因为它需要有CapyManagerCap的授权。
在Capys中添加和删除附件时,使用了动态对象字段,这是一种更有效、更方便的替代Sui中父子对象的方法。动态字段允许任意的名称,并且可以即时添加和删除。下面的代码将一个项目添加到一个Capy中。
为了收购和出售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原型,以展示Sui的一些关键功能,并在他们自己的项目中激励开发者。Capy利用Sui的面向对象的特性,允许玩家可以交易和购买的便携式配件,并根据父母的属性生成新的Capy。我们设计的原型是可以无限扩展的,因此它将使用户和开发者都感到高兴。
我们希望这里的例子和代码能对Sui的开发者有所帮助。几个突出的实现包括Capy市场、附件和育种。Capy市场可以作为任何交易或存储机制的模型。配件展示了对动态字段的良好使用。育种提供了一种独特的手段,可以自动生成具有无限应用的新对象
SophonLabs
个人专栏
阅读更多
金色财经
金色早8点
Odaily星球日报
Arcane Labs
澎湃新闻
深潮TechFlow
欧科云链
链得得
MarsBit
BTCStudy
撰写:Joel John、Siddharth编译:深潮 TechFlow今天我们要探讨的是游戏。出于几个原因,游戏是为数不多的真正有机会在数字资产生态系统中扩展至十亿用户面向消费者的用例之一.
Messari报告对以太坊的2022年进行了概述,同时对2023年的转机进行了预测,在新的一年为区块链原住民的决策提供参考.
金色周刊是金色财经推出的一档每周区块链行业总结栏目,内容涵盖一周重点新闻、行情与合约数据、矿业信息、项目动态、技术进展等行业动态。本文是项目周刊,带您一览本周主流项目以及明星项目的进展.
在长期的现货需求和一系列轧空的推动下,比特币市场呈现出自 2021 年 10 月以来最强劲的月度价格表现。本文,我们将探讨衍生品市场和现货交易平台的动态。 本周数字资产持续上涨,比特币价格在1月29日晚间达到 2.39 万美元的高位。
原文作者:Ben Giove,Bankless原文编译:aididiaojp.eth,Foresight NewsLayer 2 战争越来越白热化.
1.Vitalik:如何用预言机实现共同质押?有人正在探索多抵押品 RAI 作为此问题的解决方案.