这个任务已经结束了。您必须在排行榜上有积分,才能在节点冲突结束时考虑获得奖励。官方也不再接受新的tickets。
Avail,由Polygon前联合创始人Anurag Arjun创建,是一个专注于数据可用性(DA)的模块化区块链(和celestia同赛道)。
它为下一代去中心化应用和主权级Rollup提供支持,特别强调轻客户端通过对等网络轻松验证数据可用性的能力。Avail的模块化设计使开发人员可以更容易地集成区块链技术,无需担心验证节点集合或代币经济模型。此外,它支持各种执行环境,包括EVM、WASM和新的自定义运行时。
近期Avail 开启了Clash of Nodes激励测试网,完成任务有积分。目前有一个Anyone都能参与的任务——使用 Madara 和 Karnot 部署应用链。目前虽然在官方文档显示为暂停状态,但是PR通过后能在排行榜显示,有积分。
官方提到了如何参与:
部署 Madara 应用链:使用 Karnot CLI 进行快速部署。您可以选择自己托管或请求Karnot团队提供托管服务。
在 Avail Goldberg 测试网上部署:选择将您的链数据发布到 Avail Goldberg 测试网上。
为您的帐户注入资金:使用 Avail Goldberg 水龙头获取 Goldberg 测试网的代币。
为Clash of Nodes列出您的应用链:创建一个 PR,按照指定的 JSON 格式在 Karnot CLI 的官方存储库上列出您的应用链。
本教程选择自己托管应用链,仅供参考,请以官方教程和karnot给的教程为准。
根据Karnot的mirror文章,由于madara cli目前在本地构建madara镜像,需要一定的配置。官方测试时用了4 vCPU, 16 GB memory and 50 GB storage的实例
安装必要的基础环境
sudo apt-get update -y
sudo apt-get install git jq build-essential pkg-config libssl-dev clang protobuf-compiler screen -y
安装docker
curl -fsSL https://get.docker.com -o install-docker.sh && bash install-docker.sh
安装rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
安装madara cli
git clone https://github.com/karnotxyz/madara-cli
cd madara-cli
cargo build --release
cp ./target/release/madara $HOME/.cargo/bin
madara init
这里需要输入一个独特的chain name
注意:由于之后要替换钱包,请不要给这个钱包领水。
下载https://polkadot.js.org/extension/ 插件
新建一个钱包,保存好助记词。
这个助记词也导入到
接下来去Avail discord领取测试币,需要验证Gitcoin Passport(具体规则见Avail discord faucet-access频道)
验证完成后,在goldberg-faucet频道发
/deposit 你的avail地址
把配置文件里的助记词替换成刚刚创建的
m="你的助记词"
sed -i "s/\"seed\":\"[^\"]*\"/\"seed\":\"$m\"/" ~/.madara/app-chains/<刚刚的chain name>/da-config.json
把配置文件里的地址也替换成刚刚创建的
address="刚刚导入得到的地址"
sed -i "s/\"address\":\"[^\"]*\"/\"address\":\"$address\"/" ~/.madara/app-chains/<刚刚的chain name>/da-config.json
检查
cat ~/.madara/app-chains/<刚刚的chain name>/da-config.json
打开
点击Detect extensions按钮,选择你之前创建的账户。
接下来在黑色框中输入你刚刚的app name,然后点击send tx and create app id按钮
然后在钱包中确认交易即可。
接下来在Find an App Id下方的框中输入你刚刚的appname,点击Search App id按钮。
下方会显示
App found - AppId: xxx, Owner: xxxxxx
其中Appid后面的数字就是我们需要的Appid。
appid=你刚刚得到的数字
sed -i "s/\"app_id\":\s*[0-9]*/\"app_id\":$appid/" ~/.madara/app-chains/<刚刚的chainname>/da-config.json
检查
cat ~/.madara/app-chains/<刚刚的chain name>/da-config.json
启动一个screen终端
screen -S madara
cd
madara run
上下键选择你的链,然后按回车。
接下来需要等待较长时间(等待编译,时间取决于你的机器配置)。
编译结束后,会有一个问题。
? Have you funded your Avail address xxx using the faucet? (Y/n)
输入y按回车即可。正常运行后会这样显示
按Ctrl +AD 退出这个screen (他会在后台运行)
screen -S explorer
打开一个浏览器的screen终端
madara explorer --host=你的ip地址(不需要http或者https,纯ip即可)
正常情况显示
🐳 Running docker image: ghcr.io/lambdaclass/stark_compass_explorer:v0.2.34.3-1
🧭 Explorer is running on http://localhost:4000
打开http://你的ip:4000
能看到如下
我们的应用链和浏览器就跑起来了。
按Ctrl +AD 退出这个screen (他会在后台运行)
下面是对我们有用的3个endpoints
rpc_url
: http://你的ip:9944
explorer_url
: http://你的ip:4000
metrics_endpoint
: http://你的ip:9615/metrics
浏览器和metrics endpoint的链接都可以直接在浏览器打开,你可以打开验证一下。(如果打不开,请检查防火墙设置)
注 1:对于metrics_endpoint
您需要在/metrics前面添加端口号
注 2:请勿在端口号后添加 /
1.打开 https://github.com/karnotxyz/avail-campaign-listing
并点击右上角的fork按钮。
如果你以前fork过,打开你自己的库
( https://github.com/<你的github用户名>/avail-campaign-listing
)
点击Sync fork,并点击Update Branch
2. 运行
cd && git clone https://github.com/<你的github用户名>/avail-campaign-listing
3. 运行
cd avail-campaign-listing/app_chains
4.打开
生成一个类似
d0a850e3-f34f-49cf-a5ee-bf4c9bfbc91b
的id。
5.创建json文件
id=刚刚的id
touch $id.json
6.填写以下内容到刚刚创建的json中,(可以使用vim等文本编辑器,方法请自行百度或者谷歌)
{
"name": "<chain name>",
"logo": "<logo 链接,比如我的 https://i.imgur.com/0KUHPnZ.png>",
"rpc_url": "http://你的ip:9944",
"explorer_url": "http://你的ip:4000",
"metrics_endpoint": "http://你的ip:9615/metrics",
"id": "你刚刚生成的id"
}
下面是官方示例,请根据自己情况修改
{
"name": "my_app_chain",
"logo": "https://placehold.co/400x400",
"rpc_url": "https://rpc.mychain.xyz",
"explorer_url": "https://explorer.mychain.xyz",
"metrics_endpoint": "https://metrics.mychain.xyz",
"id": "942ff35e-f048-4d10-ae61-6cb970cad2f0"
}
7. 在github添加并提交你的更改。
git add .
git commit -m "Adding 你的chainname"
git push -u origin main
这里需要登陆github并输入密码。然而密码处必须填写你自己设置的access token。
8. 向
提交pull request。
打开你自己的仓库
https://github.com/<你的github用户名>/avail-campaign-listing
点击contribute按钮下的Open pull request,提交PR。 更多信息可以自行谷歌或者百度
9. 之后,等待PR通过即可。PR合并需要等待较长时间。PR合并后,应用链将出现在排行榜。(也需要一段时间)
至此应用链的运行和注册便完成了。我们只需要保持稳定运行即可。 你可以在上面开发Dapp, 吸引用户来交互,增加自己应用链的TVL,也许能获得更多奖励。
以下是来自Karnot官方的Madara开发教程,大家如果想要在appchain开发东西,增加交互输,可以参考。(非必需)
来自推特大佬@skyMetaverse的补充
提交PR等待merge的时候,如果提示json文件的格式要正确。可以使用下面的命令将json文件格式化 ,然后重新提交。
npx prettier --write "app_chains/改成自己的UUID.json"
打开app-chain-builders频道
点击 I Agree按钮,可以获得AppChain Builder这个role。之后,在频道发
/deposit-rollup 你的avail地址
这将让你每天能领25AVL, 一周最多 200 AVL。
#developer-discussions
频道提问。