模块化区块链是近期的热点,Dymension是模块化区块链的结算层,开发者能够基于Dymension 构建RollApps。RollApps 能够使用 Dymension Hub 与任何支持 IBC 的链进行交互,因此将成为不断发展的 IBC 生态系统的一部分。
官网:
官推:
Dymension之前融资了670万美元。近期激励测试网floopyland刚刚上线。1%的DYM代币将分配给测试网参与者。其中,40%奖励分配给验证者(据管理说,验证者已经被选出),40%奖励分配给rollapp部署者,10%的奖励分配给最好的10个Rollapp,10%奖励分配给用户。
根据官方博客和公告。只有Discord有RollApp-fam role的人才有资格拿rollapp部署者的奖励。
解锁奖励的关键在于部署 RollApp(在 Roller 工具的帮助下变得非常容易),并根据 RollApp 的正常运行时间(RPC 端点可用性的奖励)按比例分配奖励。
官方博客中说 如果您没有 RollApp-fam 角色,但您是一名真正的Builder,请联系我们,描述您的经验和 RollApp 想法。
Discord公告中说对于那些没有 RollApp-fam 角色的人,可以构建并部署一个独特的 RollApp,以表明您已经思考并投入了工作。 然后在 #share-your-rollapp 上分享您的 RollApp 并告诉我们。
同时也可以在Discord多活跃,关注新活动,也有可能拿到这个role。
注:本教程仅供参考,请以官方教程为准。
安装最新版本roller
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
停止之前的roller
sudo systemctl stop relayer
sudo systemctl stop sequencer
sudo systemctl stop da-light-client
迁移
roller migrate
重新启动roller
sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
现在检查版本应该为
roller version
💈 Roller version v1.0.6-beta
💈 Build time: 2024-01-18T09:05:45+0000"
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
升级后需要重新领celestia 的水。
journalctl -u da-light-client.service -f
看celestia的新地址。
2核
至少 100GB SSD 磁盘存储
至少 16GB RAM
至少 100mbps 网络带宽
sudo apt update -y
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
安装成功显示如下
💈 Installation complete! You can now use roller from your terminal.
验证
roller version
输出中应该有
💈 Roller version v1.0.6-beta
💈 Build time: 2024-01-18T09:05:45+0000"
💈 Git commit: 21b1b22e96466cc83b051ebacfb513b3a0d99de1
这里我们选择默认的EVM环境,DA层为默认的celestia。
接下来输入
roller config init <rollapp-id> <denom> --da Celestia
如果你想使用Avail 作为Da(可选)
roller config init <rollapp-id> <denom> --da Avail
其中rollapp-id
格式如下
仅包含字母字符
例如: berlin,test
denom
为你的rollapp原生代币的名称。如BTC,PEPE,DYM等,需要3字母以上。
如果成功,会显示如下
这里我们得到了3个地址,需要领水龙头。dym开头的地址去Discord #froopyland-faucet 频道发$request <dym开头的地址>
,celestia开头的去Discord #celestia-faucet 频道发$request <celestia开头的地址>
查余额在相应频道发$balance <地址>
领取avail测试币在avail-faucet 输入 /deposit <地址>
领到测试币后,我们可以注册我们的rollapp了。
roller tx register
注册成功会显示如下
💈 Rollapp 'test_101-1' has been successfully registered on the hub.
接下来运行我们的rollapp。由于我们的rollapp可能需要运行3个月左右。我们将其配置成服务运行。
输入
roller services load
成功后会显示💈 Services 'sequencer', 'da-light-client' and 'relayer' been loaded successfully. To start them, use 'systemctl start <service>'.
接下来输入
sudo systemctl enable da-light-client
sudo systemctl enable sequencer
sudo systemctl enable relayer
和
sudo systemctl start da-light-client
sudo systemctl start sequencer
sudo systemctl start relayer
以启动服务。
sudo systemctl status da-light-client
sudo systemctl status sequencer
sudo systemctl status relayer
正常情况下,3个都应显示为active (running)。
sudo journalctl -u da-light-client -f
正常情况应该看到
💈 The data availability light node is running on your local machine!
sudo journalctl -u sequencer -f
正常情况应该看到
💈 The Rollapp sequencer is running on your local machine!
💈 Default endpoints:
💈 EVM RPC: http://0.0.0.0:8545
💈 Node RPC: http://0.0.0.0:26657
💈 Rest API: http://0.0.0.0:1317
💈 Log file path: /Users/USERNAME/.roller/rollapp/rollapp.log
💈 Rollapp root dir: /Users/USERNAME/.roller/rollapp
sudo journalctl -u relayer -f
正常情况应该看到
💈 The relayer is running successfully on you local machine on channel channel-0!
注意:中继器(relayer)通常需要较长时间才能启动成功,一般要几小时以上。请耐心等待。
如果一直都没有成功,则通道可能已进入卡住状态。请打开一个新终端并运行
roller relayer start --override
以创建新通道。
请参考官方教程https://docs.dymension.xyz/build/production/monitor
如果你的中继器运行成功了,运行
roller relayer status
会显示如下
💈 Relayer Channels: src, channel-0 <-> channel-1, dst
这时,source channel将是channel-0
如果显示的内容不是上面这样,说明你的relayer还没有运行成功,如果几小时以上还没有成功,请运行以下命令,以创建新通道。
roller relayer start --override
可以用这个命令进行ibc transfer (这个命令不是必须的)
rollapp_evm tx ibc-transfer transfer transfer <src-channel> <destination-address> 5000000000000000000000000<base-denom> --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
注意这里的 src-channel
就是上面显示的source channel。 而base-denom
是小写字母 u加上你刚刚设置的denon。如utest
这里的数量和以太坊wei 相对于ether一样。1 xxx= 10^18 uxxxx
用户应该预计 IBC 交易提交和目标地址接收之间会有大约 15 -30分钟的延迟。这是为了模拟防欺诈期,只有在防欺诈期过后,资金才会在 Dymension Hub 上可用
如果你的中继器运行成功了,运行
roller relayer status
会显示如下
💈 Relayer Channels: src, channel-0 <-> channel-1, dst
**channel不一定是0,1。**之后我们可以运行以下命令转移部分资金给水龙头。
roller tx fund-faucet
等待15-30分钟后,可以去Discord #froopyland-faucet 频道发以下命令查询你的ibc transfer是否成功。
$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <你的rollapp-id>
这里的rollapp-id可以通过 roller config show
查看,类似silent_1319141-1
如果成功后,其他用户将可以通过
$request <user-address> <rollapp-id>
领取你的rollapp测试币。并与你的rollapp交互。
之后建议使用门户将代币IBC 传输到相应的 RollApp。
运行roller keys list
将显示如下
🔑 Addresses:
my_celes_key | RollApp Sequencer account on the Celestia network
hub_sequencer | RollApp Sequencer account on the Dymension Hub
rollapp_sequencer | RollApp Sequencer account on the RollApp
relayer-hub-key | IBC relayer account on Dymension Hub
relayer-rollapp-key | IBC relayer account on RollApp
目前支持导出 hub_sequencer
, rollapp_sequencer
and my_celes_key
使用
roller keys export rollapp_sequencer
导出你的rollapp_sequencer
私钥,你可以将私钥导入到metamask等其他地方。
使用以下配置连接到你自己的rollapp网络。
Network Name: <YOUR-ROLLAPP-NAME>
New RPC URL: <RPC-END-POINT> // http:/你的ip:8545
Chain ID: <YOUR-CHAIN-ID> // 你的EIP155 数字 (middle number of RollApp ID,对于test_101-1, 这个数字是101)
Currency Symbol (optional): <你rollapp 原生代币,如ETH,DYM>
接下来,你可以想在别的evm链开发一样,开发你自己的app了。可以查看官方教程中的示例。用Remix 部署合约并交互。
根据官方博客,我们需要列出自己的rollapp。
只有具有RollApp-fam
角色的开发人员才有资格在门户上列出他们的 RollApp。
开发人员应在http或https下提供以下端点。这将允许用户能够与您的 RollApp 交互:
RollApp RPC 端点(默认端口26657
)
Rest端点(默认端口1317
)
JSON RPC 端点(默认端口8545
。仅与 EVM RollApps 相关)
为了列出您的 RollApp,需要执行下面的步骤
按照给水龙头转账部分所述,用您的 rollapp 代币为Discord水龙头提供资金。
可以用下面的命令查询。
$balance dym1g8sf7w4cz5gtupa6y62h3q6a4gjv37pgefnpt5 <RollApp-ID>
打开
https://github.com/dymensionxyz/rollapp-registry
并点击右上角的fork按钮。
3. 运行
git clone https://github.com/<你的github用户名>/rollapp-registry
4. 运行
cd rollapp-registry
5. 通过 roller config show
命令找到你的RollappID 。并运行
export ROLLAPP_ID=<你看到的RollappID>
6.创建适当的文件和文件夹
mkdir -p $ROLLAPP_ID/logos
cd $ROLLAPP_ID && touch $ROLLAPP_ID.json
7. 将您的 RollApp 图标添加到该logos
文件夹中。图标文件名:<RollApp-ID>.<format>
. 可以是 SVG、PNG 或 JPG 格式(请确保文件不超过 50KB)。例如silent_1319141-1.jpg。可以使用FTP上传文件到服务器里,具体用法请自行百度或者谷歌。
8. 运行roller config export
并将 JSON 输出复制粘贴到 .json 并填写以下字段(可以使用vim等文本编辑器,方法请自行百度或者谷歌):
a. RPC: "http://<你的ip或者域名>:<端口>" (默认端口是26657)
b. REST: "http://<你的ip或者域名>:<端口>" (默认端口是1317)
c. EVM RPC (仅仅适用于evm rollapp): "http://<你的ip或者域名>:<端口>" (默认端口是8545)
d. Logo path: "/logos/<RollApp-ID>.<format>"
可选字段:
e. chainName: 在门户页面替换 <RollApp-ID>
作为你的Rollapp名称
f. description: add "<你的RollApp描述>",
以显示在门户页面里
g. website: add "<你的rollapp的网址>",
以显示在门户页面里
示例 (andromeda_2548179-1.json)
{
"chainId": "andromeda_2548179-1",
"chainName": "Andromeda",
"rpc": "https://froopy-rollapp-rpc.andromedapool.com",
"rest": "https://froopy-rollapp-rest.andromedapool.com",
"bech32Prefix": "ethm",
"currencies": [
{
"displayDenom": "pool",
"baseDenom": "upool",
"decimals": 18,
"logo": "/logos/andromeda_2548179-1.png",
"type": "main"
}
],
"coinType": 60,
"faucetUrl": "https://discord.com/channels/956961633165529098/1125047988247593010",
"logo": "/logos/andromeda_2548179-1.png",
"ibc": {
"hubChannel": "channel-5372",
"channel": "channel-0",
"timeout": 172800000
},
"evm": {
"chainId": "0x26e1d3",
"rpc": "https://froopy-rollapp-jsonrpc.andromedapool.com"
},
"type": "RollApp",
"da": "Celestia",
"analytics": true,
"rewards": true
}
9. 在github添加并提交你的更改。
git add .
git commit -m "added RollApp"
git push -u origin main
这里需要登陆github并输入密码。然而密码处必须填写你自己设置的access token。
10. 向
提交pull request。
打开你自己的仓库
https://github.com/<你的github用户名>/rollapp-registry
点击contribute按钮下的Open pull request,提交PR。 更多信息可以自行谷歌或者百度
11. 在Discord list-your-rollapp频道发送 $pair Rollapp-Id
然后,社区管理员将在 Discord 中与您开始对话。请您密切关注,以便尽快完成列出流程。
列出RollApp后,我们的任务就完成了。
根据官方博客,奖励将根据 RollApp 的正常运行时间(RPC 端点可用性的奖励)按比例分配奖励,我们只需要保证RollApp正常运行即可。
至于如何成为前10的RollApp。我估计比较优质的,有很多用户的RollApp才有希望。难度比较大。