2023 SUI 区块链数据索引指南

简介: 在快节奏的区块链技术世界中,数据管理可能看起来令人生畏。合理利用工具是一个捷径,能够帮助你轻松地浏览链上生成的海量数据,甚至把它变成一个看板!

作者:masterdai

基本情况概述

索引是区块链生态系统中的一种基本工具,它简化了数据的组织和检索。索引提高了效率,增强了用户体验,简化了数据分析,并确保了可伸缩性。

通过促使快速数据访问,它支持实时应用程序,并优化了交互,这对于像 DeFi 这样的平台来说尤为重要。索引还在各种任务中发挥作用,从检测欺诈活动到了解用户行为。

随着区块链数据量的增加,索引确保了应用的程序性能保持高水平。

在本指南中,我将演示开发人员如何使用几个 SQL 示例有效地访问链上数据。用到的工具 Chainbase 是 Sui 区块链生态系统中唯一的数据云索引提供商,实现高效数据检索方面发挥着关键作用。这种工具的使用将为开发者提供另一种简单的思路,帮助您利用索引功能提高在 Sui 区块链内的数据交互和分析。

关于 SUI

Sui 是一款开创性的智能合约平台,通过以可编程实体为中心,彻底改变了传统的区块链模型。

与传统的基于账户的存储模型不同,在这种模型中,每个账户都包含一个键-值存储库,Sui 的方法是以对象为中心,将其作为数据存储的基本单元。

这些对象是直接在区块链上存储数据的数字实体。开发人员可以定义、创建和管理这些对象,它们代表用户级别的资产。每个对象都具有独特的属性,包括所有权,这些属性可以根据创建对象的智能合约的治理逻辑进行更新。

Sui 的这种面向对象的数据模型允许数字资产及其属性独立于智能合约存在于链上。这种创新为区块链领域提供了更灵活的方法,使我们与数字资产能进行更复杂和动态的交互。

先决条件

  1. 一个好用的 API 网站,本文内使用的是 Chainbase
  2. 一个集成开发环境(IDE)。我们的示例以 JavaScript 显示,您可以使用 VS Code 作为 IDE。

获取 API 密钥

密钥将用于对 API 的请求进行身份验证,需要提前准备。

SQL 示例

登录到你的工具后台

执行以下 SQL 查询以检索所需的数据:

查询 1:查找最活跃的地址

想要在区块链中识别交易最多的地址 吗?以下 SQL 查询可以帮助您:

SELECT
    sender,
    count() as total
FROM
    sui.transactions
GROUP BY
    sender
ORDER BY
    total DESC

查询 2:最常用的模块和事件类型

要识别最常用的模块和事件类型,请使用以下查询:

SELECT
  module,
  event_type,
  COUNT(*) AS total
FROM
  sui.events
GROUP BY
  event_type,
  module
ORDER BY
  total DESC;

查询 3:筛选数据提取

想要查找特定交易内容 吗?使用以下 SQL 查询进行搜索:

select
    *
from
    sui.transactions
where
    transaction_content like "%fuddies%%orderbook%"
order by
    id DESC
limit
    100

查询 4:获取特定事件数据

要从 Sui 区块链中检索特定事件数据,请执行以下查询:

SELECT
    id,
    module,
    sender,
    transaction_digest,
    event_type
FROM
    sui.events
WHERE
    event_type LIKE "%0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b%"
ORDER BY
    id DESC
LIMIT
    100

生成 API

一旦您有了检索所需数据的 SQL 查询,下一步是生成一个 API 请求以获取实时的 Sui 区块链数据。请按照以下步骤操作:

chainbases-api.png

步骤 1:如果您尚未安装 Node.js 和 Axios 库,请先安装它们。

步骤 2:使用以下代码片段进行 API 调用:

const axios = require('axios');

axios.post('https: //api.chainbase.online/v1/dw/query', {"query":"SELECT\n    id,\n    module,\n    sender,\n    transaction_digest,\n    event_type\nFROM\n    sui.events\nWHERE\n    event_type LIKE \"%0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b%\"\norder by\n    id desc\nlimit\n    100"}, {
headers: {
'x-api-key': '[api-key]'
}
})
.then(response => {
const data = response.data.data;
console.log(data);
})
.catch(error => {
console.error(error);
});

此代码片段利用 Axios 库向 Chainbase API 端点发送 POST 请求(
https: //api.chainbase.online/v1/dw/query
)。 SQL 查询包含在请求负载中,开头的 “x-api-key” 用于身份验证。

检索和打印 Sui 区块链数据

在进行 API 调用后,您将收到一个包含实时 Sui 区块链数据的响应。请按照以下步骤提取并打印数据:

  1. 使用 response.data.data 访问响应中检索到的数据。
  2. 通过将数据打印到控制台日志中显示数据。

运行 node 'filename'.js 以执行代码。

{
"event_type": "0xbc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9::mint_event::MintEvent<0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b::fuddies::Fuddies>",
"id": "306968",
"module": "fuddies",
"sender": "0x65afcd7679a1570f11b3865d8c0d13e070b4cf7587af11c3eacd98e97b6252a3",
"transaction_digest": "6GMShTdQyeLzieJBLyVjrJn7nZTeFKEEnhRDTKZd6dqX"
},
{
"event_type": "0xbc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9::mint_event::MintEvent<0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b::fuddies::Fuddies>",
"id": "304865",
"module": "fuddies",
"sender": "0x65afcd7679a1570f11b3865d8c0d13e070b4cf7587af11c3eacd98e97b6252a3",
"transaction_digest": "FDPsGKnux8gCDcPWbKqkLbg28bnu6A16NUdsQN9LQb5x"
},
{
"event_type": "0xbc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9::mint_event::MintEvent<0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b::fuddies::Fuddies>",
"id": "304864",
"module": "fuddies",
"sender": "0x65afcd7679a1570f11b3865d8c0d13e070b4cf7587af11c3eacd98e97b6252a3",
"transaction_digest": "FDPsGKnux8gCDcPWbKqkLbg28bnu6A16NUdsQN9LQb5x"
},
{
"event_type": "0xbc3df36be17f27ac98e3c839b2589db8475fa07b20657b08e8891e3aaf5ee5f9::mint_event::MintEvent<0xac176715abe5bcdaae627c5048958bbe320a8474f524674f3278e31af3c8b86b::fuddies::Fuddies>",
"id": "304863",
"module": "fuddies",
"sender": "0x65afcd7679a1570f11b3865d8c0d13e070b4cf7587af11c3eacd98e97b6252a3",
"transaction_digest": "FDPsGKnux8gCDcPWbKqkLbg28bnu6A16NUdsQN9LQb5x"
},
...

通过前端演示体验 Sui 仪表板

现在!让我们一起尝试使用 Sui 仪表板的前端演示,将您对 Sui 的了解提升到新的水平。

该演示在 GitHub 上提供,可帮助您亲身体验 Sui 界面,熟悉其功能和能力。请访问此处查看演示

chainbase-sui-dashboard.11.png

写码愉快!

原文链接:Guidelines for Indexing SUI Blockchain Data

目录
相关文章
|
6月前
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
|
5月前
|
安全 物联网安全 物联网
区块链零知识证明:未来数据的“隐身斗篷”
**区块链零知识证明(ZKP)技术融合密码学与分布式账本,确保数据安全与隐私。ZKP允许证明者不透露信息地验证论断,增强数据真实性,同时避免数据篡改。未来,ZKP将在数字身份、数据交易、物联网安全及跨链互操作中扮演关键角色,驱动数字化转型并保障信息安全。**
|
5月前
|
安全 物联网安全 物联网
区块链零知识证明:未来数据的“隐身斗篷”
**区块链零知识证明(ZKP)技术融合密码学与分布式账本,确保数据安全与隐私。ZKP允许证明者在不透露信息情况下证实论断,增强区块链安全性,提高验证效率。未来,ZKP将在数字身份、数据交易、物联网安全及跨链互操作中扮演关键角色,驱动数字世界的安全转型。**
|
6月前
|
存储 安全 数据管理
新一代数据库技术:融合区块链的分布式数据存储系统
传统数据库系统面临着数据安全性、可信度和去中心化等挑战,而区块链技术的兴起为解决这些问题提供了新的思路。本文介绍了一种新一代数据库技术,将区块链技术与传统的分布式数据存储系统相融合,实现了更高水平的数据安全性和可信度,以及去中心化的优势。通过结合区块链的不可篡改性和分布式存储系统的高性能,这一新型数据库技术将在未来的数据管理领域发挥重要作用。
|
6月前
|
数据挖掘 API 区块链
《区块链公链数据分析简易速速上手小册》第2章:数据获取基础(2024 最新版)
《区块链公链数据分析简易速速上手小册》第2章:数据获取基础(2024 最新版)
195 0
|
搜索推荐 区块链 数据库
区块链能挑战“FANG”科技巨头控制我们的数据吗?
区块链能挑战“FANG”科技巨头控制我们的数据吗?
|
SQL 存储 数据挖掘
区块链数据探索:Bitcoin公链数据ETL
Bitcoin 公链可以理解为是一个公共的数据库,里面存储的是Bitcoin发布至今的所有转账记录,并且任何人只要接入到其网络中都可以获取,并不需要任何交易、挖矿、持币等相关操作。 本文主要主题的是将原始的Bitcoin公链数据进行清洗规整,写入到阿里云SLS,然后做一些有趣的数据处理,比如实现简洁的区块链浏览器、数据分析、交易链路追踪等。
1048 0
区块链数据探索:Bitcoin公链数据ETL
|
安全 数据可视化 数据挖掘
当大数据遇上区块链,欧科云链重塑Web3.0万亿数据价值
如果将石油视为工业时代的能源,那么数据就是数字经济时代的新能源。2017年,《经济学人》就曾发文称“世界上最有价值的资源不再是石油,而是数据”。
221 0
|
安全 区块链 物联网
|
安全 算法 大数据
数据可用不可见!揭秘蚂蚁区块链摩斯安全计算平台
蚂蚁区块链摩斯安全计算平台针对数据安全信任、个人隐私保护以及数据基础设施不足等痛点,秉持“数据可用不可见”和“将计算移动到数据端”的原则,借助区块链、密码学、隐私保护、安全多方计算、可信计算等前沿技术,建设安全、保护隐私、高效、通用、轻量、去中心化的数据合作基础设施,打通数据孤岛,帮助机构之间实现安全便捷合规的数据合作,为用户带来更多的便利和实惠。
3962 0