介绍
Sui 提出了一种独特的方法,将所有合约、NFT(非同质化代币)和币视为对象。这种创新的存储结构基于对象,构成了 Sui 功能的基础。在本文中,我们将探讨与 Sui 中的对象相关的三个核心方面:NFT 集合、代币价值和打包合约。并且了解 Sui 基于对象的系统将如何革新区块链领域。
1. NFT(集合)
NFT 是唯一的数字资产,代表区块链上特定物品、艺术品或可收藏品的所有权。在 Sui 中,NFT 被视为对象,并由特定合约包控制其使用。要找到 NFT 控制合约包,我们需要识别负责 NFT 创建功能的合约包。
如何找到 NFT 控制合约包?
要找到 NFT 控制合约包,首先需要找到与 NFT 相关联的包 ID(对象 ID)。例如,假设我们想找到 "Bullshark" NFT 的包 ID,其对象 ID 为
要找到 NFT 控制合约包,首先需要找到与 NFT 相关联的包 ID(对象 ID)。例如,假设我们想找到 "Bullshark" NFT 的包 ID,其对象 ID 为
0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1。
查询包内所有 Move_Calls(交易)
获得包 ID 后,我们可以查询在该包内生成的所有 Move_Calls(交易):
select * from sui.move_calls where move_package = '0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1';
找到包内所有 NFT 对象
或者,我们可以使用相应的 NFT 对象类型找到该包内的所有 NFT 对象:
select * from sui.objects
where object_type = '0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1::suifrens::SuiFren<0x8894fa02fc6f36cbc485ae9145d05f247a78e220814fb8419ab261bd81f08f32::bullshark::Bullshark>';
2. 代币价值
Sui 的代币也被视为对象,每个 CoinType 生成一个唯一的对象 ID。因此,计算余额需要对相同的 CoinType 和账户地址进行分组。
如何查询代币余额?
要查询代币余额,我们需要将相同的 CoinType 和账户地址进行分组,并计算它们的总余额。例如,以下 SQL 查询检索 Sui 代币(CoinType: 0x2::coin::Coin<0x2::sui::SUI>)的前 100 个余额:
select sum(storage_rebate) as balance, owner_address from sui.objects where object_type = '0x2::coin::Coin<0x2::sui::SUI>' group by owner_address, storage_rebate order by balance desc limit 100;
3. 包合约
通过根据它们产生的 Move_Calls(交易)数量对包进行分组,可以确定顶级合约。
如何找到顶级合约?
要识别顶级合约,我们根据它们产生的 Move_Calls(交易)数量对包进行分组。以下 SQL 查询提供有关前 100 个合约的信息:
select count(1) as score, move_package from sui.move_calls group by move_package order by score desc limit 100;
常见问题解答
问题 1:Sui 中的对象是什么?
Sui 中的对象指的是一种独特的方法,其中所有合约、NFT 和代币被视为独立的对象。这种基于对象的存储结构构成了 Sui 操作
的核心。
问题 2:如何找到 NFT 的控制合约包?
要找到 NFT 的控制合约包,您需要识别特定的 NFT 类型,并且包 ID 可以在 NFT 类型的十六进制前缀中找到。例如,如果 NFT 对象的类型是 0x5325…17a2,并且它属于类型 0xee49…e1a1::suifrens::SuiFren<0x8894…8f32::bullshark::Bullshark>,则集合的包 ID 将为 0xee49…e1a1。
问题 3:我可以查询特定 Sui 代币的代币余额吗?
是的,您可以查询特定 Sui 代币的代币余额。通过将相同的 CoinType 和账户地址进行分组,您可以计算每个代币的总余额。
问题 4:Sui 的基于对象的存储系统有何独特之处?
Sui 的基于对象的存储系统之所以独特,是因为它将所有合约、NFT 和代币视为对象。这种创新方法简化了存储结构并增强了整体区块链功能。
问题 5:在 Sui 中,所有 NFT 都存储为对象吗?
是的,所有 NFT 都以对象形式存储在 Sui 中。每个 NFT 都有一个特定的对象类型,从而便于识别和管理不同的 NFT 集合。
结论
Sui 的基于对象的存储系统重新定义了合约、NFT 和代币在区块链上的管理方式。通过将它们视为独立的对象,Sui 提供了一种简化和高效的处理数字资产的方法。NFT 集合、代币价值和包合约的概念展示了 Sui 的强大和多功能性。
关于 Chainbase
Chainbase 是一个面向 Web3 的一体化数据基础设施,允许您在规模上索引、转换和使用链上数据。 通过利用丰富的链上数据和流计算技术,在一个数据基础设施中实现区块链数据的自动索引和查询,使开发者能够以更少的努力完成更多的事情。
想了解更多关于 Chainbase 吗?
访问我们的网站 chainbase.com,注册一个 免费账户,并查看我们的 文档。