入门指南:使用 Avail 轻客户端进行应用专属数据管理

本文介绍了如何设置和运行 Avail 轻客户端,以便在不运行完整节点的情况下与区块链数据交互。通过数据可用性采样 (DAS) 验证数据可用性,并提供了从基本安装到发送和接收数据的步骤,以及使用 Substrate 钱包和 App ID 与 Avail DA 交互的方法。


有没有想过如何在不运行完整节点的情况下与区块链数据交互?认识一下 Watchkeeper — 你轻量级的区块链守护者,它可以用数学上的确定性验证数据的可用性。这正是 Avail 轻客户端 所做的!在本指南中,我们将逐步完成设置你自己的轻客户端的过程,从基本安装到发送和接收数据。另外,请查看我们下面的分步教程:

如何设置和运行 Avail 轻客户端——完整教程 - YouTube

Avail 的照片图像

Avail

768 位订阅者

如何设置和运行 Avail 轻客户端——完整教程

Avail

搜索

信息

购物

点击取消静音

如果短时间内未开始播放,请尝试重新启动设备。

你已退出

你观看的视频可能会添加到电视的观看历史记录中,并会影响电视的推荐。要避免这种情况,请在你的计算机上取消并登录 YouTube。

取消确认

分享

包含播放列表

检索共享信息时出错。请稍后重试。

稍后观看

分享

复制链接

在观看

0:00

/ •直播

将数据可用性抽样 (DAS) 视为你的私人区块链侦探——它不是下载整个链,而是策略性地抽样随机数据片段,以高度的信心验证区块的可用性。这就像通过随机选择碎片来检查拼图是否完整一样——如果你所有的随机样本都存在,那么整个拼图存在的可能性就非常高!


你将学到什么

  • 如何设置和运行 Avail 轻客户端
  • 在没有信任假设的情况下验证数据可用性的方法
  • 与 Avail 的数据可用性层交互的方式
  • 发送和读取特定于应用程序的数据的技术

前提条件

你的系统应满足以下硬件要求:

最低要求:
  • RAM:512MB
  • CPU:2 个核心(amd64/x86 架构)
推荐配置:
  • RAM:1GB

  • CPU:4 个核心(amd64/x86 架构)

    • *

轻客户端环境设置

设置 Avail 轻客户端非常简单。只需一个命令,几分钟内即可启动并运行!

快速安装

前提条件

在开始之前,请确保你的系统上已安装 curl。 使用以下命令检查:

curl --version

如果未安装 curl,请按以下步骤获取:

## 适用于 Ubuntu/Debian
sudo apt update && sudo apt install curl

## 适用于 macOS(使用 Homebrew)
brew install curl
安装轻客户端

准备好体验有史以来最简单的区块链客户端安装了吗? 只需运行:

curl -sL1 avail.sh | bash

就是这样! 该脚本将为你处理所有其他事情。 成功后,你将看到客户端输出开始流式传输。

你将获得类似以下的响应:

curl -sL1 avail.sh | bash response启动轻客户端响应

💡 专业提示:上面的命令使用 availup ,这是一个方便的包装器,可为你处理所有复杂的设置。 这是运行 Avail 轻客户端的推荐方法。

通过你的轻客户端与 Avail DA 交互

前提条件

在将你的轻客户端变成专用的应用程序客户端之前,你需要:

  1. 一个 Substrate 钱包(推荐 SubWallet
  2. 来自 https://faucet.avail.tools 的测试网代币
  3. 来自 https://appid.availproject.org 的应用程序 ID
💡 快速设置链接

准备好这些后,你可以配置你的轻客户端以进行数据操作。 让我们继续设置你的客户端……

设置你的轻客户端

1. 配置身份

使用你的钱包助记词创建一个身份文件:

## 创建并编辑身份文件
mkdir -p ~/.avail/identity
nano ~/.avail/identity/identity.toml

将你的助记词添加到文件中:

seed_phrase = "在这里输入你的十二个或二十四个单词的助记词"

💡 专业提示:你的身份文件包含敏感信息。 确保其安全并且永远不要分享!

2. 在应用程序模式下启动轻客户端

让我们使用你的新身份在图灵测试网络上的应用程序模式下重启轻客户端!

curl -sL1 avail.sh | bash -s – --app_id YOUR_APP_ID --network turing --identity ~/.avail/identity/identity.toml

你将获得类似以下的响应:

启动轻客户端响应


使用你的轻客户端读取和写入数据

向 AvailDA 提交数据

1. 准备你的数据

让我们提交一条有趣的消息:“Hello AvailDA! 🚀”

首先,在一个新的终端中将其编码为 base64:

## 你可以使用命令行:
echo -n "Hello AvailDA! 🚀" | base64
## 输出:SGVsbG8gQXZhaWxEQSEg8J+agA==
2. 提交数据

使用你运行的轻客户端:

确保它处于应用程序客户端模式:

curl "localhost:7007/v2/status"

你将获得类似以下的响应:

轻客户端状态

发送数据:

curl -X POST http://127.0.0.1:7007/v2/submit \
  --header "Content-Type: application/json" \
  --data '{"data":"SGVsbG8gQXZhaWxEQSEg8J+agA=="}'

你将获得类似以下的响应:

发送数据到 Avail 响应

💡 专业提示:保存 block_number - 你需要它来读取你的数据!

读取你的数据

要从特定区块读取数据:

curl "http://127.0.0.1:7007/v2/blocks/ENTER_BLOCK_NUMBER_FROM_STEP_ABOVE/data?fields=data"

你将获得类似以下的响应:

从 Avail 读取数据响应

要解码数据:

echo '{"block_number":ENTER_BLOCK_NUMBER_FROM_STEP_ABOVE,"data_transactions":[{"data":"SGVsbG8gZnJvbSBBdmFpbCEg8J+agA=="}]}' | jq -r '.data_transactions[0].data' | base64 -d

你将获得类似以下的响应:

解码数据

💡 专业提示:读取数据时,你可能需要等待提交后几秒钟才能处理该区块。

快速测试脚本

你可以将所有这些步骤合并到一个脚本中。 这是一个完整的示例,提交数据并将其读回!

确保你的系统上安装了 jq。 使用以下命令检查:

jq --version

如果未安装 jq,请按以下步骤获取:

## 适用于 Ubuntu/Debian
sudo apt update && sudo apt install jq

## 适用于 macOS(使用 Homebrew)
brew install jq

创建一个名为 submit_and_retrieve.sh 的文件:

nano submit_and_retrieve.sh

将以下内容添加到文件中:

##!/bin/bash

## 配置
API_ENDPOINT="http://127.0.0.1:7007"
DATA="SGVsbG8gQXZhaWxEQSEg8J+agA=="  # "Hello AvailDA! 🚀" in base64

## 提交数据并捕获区块号
echo "正在提交数据..."
RESPONSE=$(curl -X POST "$API_ENDPOINT/v2/submit" \
    --header "Content-Type: application/json" \
    --data "{\"data\":\"$DATA\"}")

## 提取区块号
BLOCK_NUMBER=$(echo $RESPONSE | jq -r '.block_number')
echo "数据在区块中提交:$BLOCK_NUMBER"

## 等待区块处理
echo "等待区块处理..."
sleep 65

## 读回并显示原始数据
echo "原始响应:"
BLOCK_DATA=$(curl "$API_ENDPOINT/v2/blocks/$BLOCK_NUMBER/data?fields=data")

echo $BLOCK_DATA

## 解码并显示实际消息
echo "解码消息:"
echo "$BLOCK_DATA" | jq -r '.data_transactions[0].data' | base64 -d

使脚本可执行:

chmod +x submit_and_retrieve.sh

运行脚本:

./submit_and_retrieve.sh

你将获得类似以下的响应:

提交和检索脚本输出


结论

恭喜! 你现在有一个可以工作的 Avail 轻客户端,它可以:

  • 在不运行完整节点的情况下验证数据可用性
  • 向 Avail 网络提交特定于应用程序的数据
  • 使用区块号读回你的数据
  • 参与网络的数据可用性抽样

查看 轻客户端 API 文档,了解更多通过你的新轻客户端与 Avail 交互的方式!


💡 最终提示:确保你的身份文件和应用程序 ID 安全 - 它们是你与 Avail 网络交互的密钥!


加入 Avail 社区分享你的经验并获得支持!

教程 Avail 轻客户端 传递区块 开发者 轻客户端

  • 原文链接: blog.availproject.org/ge...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Avail Project
Avail Project
Build with Avail DA, the validity proven data availability layer unifying Web3