【Web3 探索】Sui数据应用场景探索

  • Chainbase
  • 更新于 2023-08-07 18:54
  • 阅读 750

在本文中,我们将探讨与 Sui 中的对象相关的三个核心方面:NFT 集合、代币价值和打包合约。并且了解 Sui 基于对象的系统将如何革新区块链领域。

介绍

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&lt;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,注册一个 免费账户,并查看我们的 文档

网站博客TwitterDiscordLink3

文章来源:Exploration of Sui Data Application Scenarios

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Chainbase
Chainbase
0x7C46...d02D
Chainbase 是领先的 Web3 数据基础设施,帮助开发者轻松访问加密数据,并支持对数据的大规模索引、转换和使用。