本文介绍了如何设置和运行 Avail 轻客户端,以便在不运行完整节点的情况下与区块链数据交互。通过数据可用性采样 (DAS) 验证数据可用性,并提供了从基本安装到发送和接收数据的步骤,以及使用 Substrate 钱包和 App ID 与 Avail DA 交互的方法。
有没有想过如何在不运行完整节点的情况下与区块链数据交互?认识一下 Watchkeeper — 你轻量级的区块链守护者,它可以用数学上的确定性验证数据的可用性。这正是 Avail 轻客户端 所做的!在本指南中,我们将逐步完成设置你自己的轻客户端的过程,从基本安装到发送和接收数据。另外,请查看我们下面的分步教程:
如何设置和运行 Avail 轻客户端——完整教程 - YouTube
Avail
768 位订阅者
Avail
搜索
信息
购物
点击取消静音
如果短时间内未开始播放,请尝试重新启动设备。
你已退出
你观看的视频可能会添加到电视的观看历史记录中,并会影响电视的推荐。要避免这种情况,请在你的计算机上取消并登录 YouTube。
取消确认
分享
包含播放列表
检索共享信息时出错。请稍后重试。
稍后观看
分享
复制链接
在观看
0:00
/ •直播
•
将数据可用性抽样 (DAS) 视为你的私人区块链侦探——它不是下载整个链,而是策略性地抽样随机数据片段,以高度的信心验证区块的可用性。这就像通过随机选择碎片来检查拼图是否完整一样——如果你所有的随机样本都存在,那么整个拼图存在的可能性就非常高!
你的系统应满足以下硬件要求:
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
就是这样! 该脚本将为你处理所有其他事情。 成功后,你将看到客户端输出开始流式传输。
你将获得类似以下的响应:
启动轻客户端响应
💡 专业提示:上面的命令使用
availup,这是一个方便的包装器,可为你处理所有复杂的设置。 这是运行 Avail 轻客户端的推荐方法。
在将你的轻客户端变成专用的应用程序客户端之前,你需要:
准备好这些后,你可以配置你的轻客户端以进行数据操作。 让我们继续设置你的客户端……
使用你的钱包助记词创建一个身份文件:
## 创建并编辑身份文件
mkdir -p ~/.avail/identity
nano ~/.avail/identity/identity.toml
将你的助记词添加到文件中:
seed_phrase = "在这里输入你的十二个或二十四个单词的助记词"
💡 专业提示:你的身份文件包含敏感信息。 确保其安全并且永远不要分享!
让我们使用你的新身份在图灵测试网络上的应用程序模式下重启轻客户端!
curl -sL1 avail.sh | bash -s – --app_id YOUR_APP_ID --network turing --identity ~/.avail/identity/identity.toml
你将获得类似以下的响应:
启动轻客户端响应
让我们提交一条有趣的消息:“Hello AvailDA! 🚀”
首先,在一个新的终端中将其编码为 base64:
## 你可以使用命令行:
echo -n "Hello AvailDA! 🚀" | base64
## 输出:SGVsbG8gQXZhaWxEQSEg8J+agA==
使用你运行的轻客户端:
确保它处于应用程序客户端模式:
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 轻客户端,它可以:
查看 轻客户端 API 文档,了解更多通过你的新轻客户端与 Avail 交互的方式!
💡 最终提示:确保你的身份文件和应用程序 ID 安全 - 它们是你与 Avail 网络交互的密钥!
加入 Avail 社区分享你的经验并获得支持!
- 原文链接: blog.availproject.org/ge...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!