在上一篇文章中,我们深入探讨了 Arbitrum Orbit 的技术架构和关键特性,展示了它如何帮助开发者构建高性能、定制化的 Layer 3(L3)区块链。作为续集,本文将带你一步步完成在 Arbitrum Orbit 测试网上部署自己的 Orbit 链的详细教程。无论你是想测试游戏、DeFi 还是其他去中心化应用的专用链,本教程都将帮助你快速上手。
本教程假设你具备基本的区块链开发知识(如以太坊、Solidity 和命令行操作),并将重点放在在 Arbitrum Sepolia 测试网上部署 Orbit 链的实际步骤。
准备工作
在开始部署之前,你需要准备以下工具和环境:
1. 开发环境
- Node.js 和 npm 、yarn:确保安装了 Node.js(建议版本 v16 或更高)和 npm、yarn。
- Docker:用于运行本地 Arbitrum 节点或测试环境。
- Git:用于克隆相关代码仓库。
- MetaMask:配置一个支持 Arbitrum Sepolia 测试网的钱包,用于支付部署费用。
- 代码编辑器:如 VS Code,用于编辑配置文件。
2. 获取测试网代币
Orbit 链的部署需要支付gas,至少 1.2 个测试币(对于自定义 Gas 代币链,0.8 和 0.4 个原生代币)在获取测试币之前,需要添加一下 Arbitrum Sepolia 测试网:
导航到 ChainList -> 勾选 Include Testnets -> 点击 Add to Metamask -> 弹出钱包,点击批准
添加完网络之后,可以领水了,下面是我收集的两个领水网站:
测试代币也支持从 Sepolia 跨链到 Arbitrum Sepolia,这是官方跨链桥:Bridge to Arbitrum One
配置 Arbitrum 链的部署
准备工作做好之后,接下来打开 Arbitrum Orbit Deployment UI ,这是在 Arbitrum Sepolia 测试网上部署 Orbit 链的详细步骤页面,只需按照步骤一步步走
这里介绍了参数与领水,我们接着点击Next
这里让我们选择部署的链类型 ,有 Rollup 与 AnyTrust 类型,后面我会专门出一起 Rollup 技术,也会出一起 AnyTrust 类型链部署,这里我们选择Rollup ,接着点击 Next
这里是我们自定义的一些参数,每个参数右侧都有详细的介绍,我们填写完之后,点击 Next
此时点击Next之后,弹出钱包进行链上交互,我们点击确认,如果交易成功,我们会来到下载界面
我们点击 Download zip files ,保存到本地,后面会用到这里面的配置
运行链的节点和区块浏览器
1. git clone https://github.com/OffchainLabs/orbit-setup-script.git 这是运行与配置orbit 的代码
2. 还记得之前下载的zip文件吗?是时候派上用场了,解压之后,里面有两份配置文件,nodeConfig.json ,orbitSetupScriptConfig.json 这是你在配置页面填写的链配置信息和节点的信息,现在我们cd 到 orbit-setup-script 目录,将这两份文件复制到config目录
3. 在 orbit-setup-script 目录下,安装依赖 ,运行 :
yarn install
4. OK,接下来运行 docker-compose up -d
- docker-compose:Docker Compose 是一个工具,用于定义和运行多容器
- up:表示启动 docker-compose.yml 文件中定义的所有服务
- -d:容器在后台运行,命令执行后会立即返回终端控制权,而不是在前台显示容器日志
如果大家对docker 感兴趣,后面我会专门出一期 docker 专栏
我们可以看到,docker拉取了所需image完成并启动了容器 , nice!接着我们查看容器
为了方便查看,我在windows 上面安装了docker , docker desktop提供可视化的界面。这里我们可以看到,启动了多个容器,包括 nitro、 db、blockscout、 nginx 等,我们可以看到,要访问blockscout,我们通过nginx代理访问:http://localhost/ 或者 http://127.0.0.1/ ,默认就是80端口,如果你用localhost 不能访问,可能哪里的解析有点问题,我就遇到了这个问题,换成 127.0.0.1 就好了
我们可以看到,访问区块链浏览器成功,cool ,如果你走到这一步,恭喜你,你太棒了,给自己一点鼓励吧!
现在,让我们来验证一下节点是否正常运行
1. 获取链ID
wayne@LAPTOP-1U7QPHL8:~$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' http://localhost:8449
{"jsonrpc":"2.0","id":1,"result":"0xb66ef0ab4"}
2. 验证 Nitro 节点同步,检查最新区块号
wayne@LAPTOP-1U7QPHL8:~$ curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:8449
{"jsonrpc":"2.0","id":1,"result":"0x8"}
3. 让我们来测试一下 MetaMask 连接
可以看到,钱包添加网络成功,至此,测试网部署 Arbitrum L3 链成功,感谢阅读,下一个章节,我将在链上部署合约,以及自定参数,还有前面提到的 Arbitrum AnyTrust 的部署,敬请期待!