# 🌸樱花色的Taiko Alpha-3节点部署教程啦 **Published by:** [Nyahunters](https://paragraph.com/@nyahunters/) **Published on:** 2023-07-14 **URL:** https://paragraph.com/@nyahunters/taiko-alpha-3 ## Content Taiko是一个去中心化的、等同于以太坊的ZK-Rollup(1类ZK-EVM)。我们正在开发完整的以太坊ZK-EVM,这是以太坊基金会隐私和扩展探索(PSE)团队领导的社区工作的一部分。本文将会简单介绍Taiko解决以太坊的扩容方案,提议者(Proposer)、证明者(Prover)在网络架构中的位置与工作原理。同时提供Linux和Windows系统上部署节点的详细教程啦。 目前Taiko处在Alpha 3测试阶段,预计2024年Q1上线主网。I 什么是提议者、证明者?在以太坊L1 的Taiko 合约当中,区块有三种状态:Proposed(被提议的)Proved(被证明的)Verified(被验证的)如下图所示,三种状态分别以蓝、绿、黄三种颜色表示。 Taiko的用户将交易数据提供给提议者,由提议者将打包着交易数据的区块发布到以太坊网络中,这个区块就会被添加到储存在以太坊Taiko L1的合约上的区块列表中,即图中Ethereum L1 Contract下的格子链。从图中可以看到,最新提议的区块就是链最后面的蓝色区块啦。随后证明者在L1链上,平行地,或者说可以不按照顺序地,证明链上存在的被提议的蓝色区块,对比两张图片,这里从左至右第三个区块被某一个证明者证明了。证明过程只需要进行一次,所以第一个证明某一区块的证明者将获得奖励。然而,单独每个区块被证明(prove)了不能保证前一个区块(父区块)被证明(prove),为了使整个链上区块的连接被证明,需要从初始区块(genesis block)开始对每个过渡进行验证(verify)。对比上下两图,左至右第三至第五个绿色区块(被证明的区块)依次被验证,从而使整个链(黄色的链)延申。哈哈,理论就到这里啦。原本还打算写一些关于这种分布Rollup模式如何实现去中心化、安全、无需许可的理念,以及区块层次的证明、区块内交易的证明与筛选的规则细节等等。不过大家应该没有心思看太多,总之,知道我们将要运行的提议者和证明者在整个网络上占据的位置是有帮助哒。 投入与奖励方式:提议者提交区块的同时投入$TTKO,获得$SepoliaETH;证明者证明区块,获得$TTKO。 运行提议者需要的$TTKO源自于前两期活动,证明者的奖励以及社区成员的帮助。所以check一下各位的钱包,再开始叭。II 部署整体流程与解释VPS/PC,提供硬件环境Docker,操作系统层虚拟化容器,用来独立运行程序Taiko Node,Taiko的节点,记录Taiko网络上的交易活动Sepolia Archive Node,用来提供RPC endpoint,可以用第三方Alchemy、Infura代替Proposer,提供交易区块至 Taiko L1 Contract,可选Prover,验证 L1 Contract上的区块,可选大致流程:准备好VPS或PC用来运行节点安装依赖Docker与Git部署Taiko节点使用Alchemy、Infura第三方提供服务或者使用另一台VPS/PC部署Sepolia节点设置变量成为Proposer,或者设置变量成为Prover整个教程将分为Linux与Windows两部分,Linux部分我将在Contabo里租用的服务器上示范,Windows部分将在我个人笔记本电脑上示范,同时Sepolia 节点部署将仅在VPS上进行。准大学生学识有限,难免疏忽,请指正啦~ 注意:由于运行Sepolia节点不是必须的,我将放到相对靠后的位置来写(或者直接偷懒咯)(应该不会有谁愿意花几百块钱来优化RPC服务的叭)。III Linux准备VPS,这里仍然采用Contabo的服务商,由于上一篇文章已经讲解地很详细啦,这里就简单讨论一下型号选择的问题哦。(请允许我偷懒!)(待会附上上一篇文章的链接) 如果只运行Taiko节点或者成为Porposer那么最低要求是:CPU with 2+ cores4GB RAM50GB+ free storage space to sync the Mainnet8 MBit/sec download Internet service选择型号S 5.99EU/mo 的是足够了的,Taiko计划2024年Q1上线主网,所以租期选择1个月、3个月或者更长都是可以哒。 如果打算成为Prover(可选),那么附加要求是:CPU with at least 8/16 cores32GB RAM可以选择型号L或XL,性能越好证明到区块的概率越大,奖励越多咯。 如果要运行Sepolia Archive Node(非必须),相应的硬盘容量要大,选择型号M及以上CPU with 2+ cores4GB RAM400GB+ free storage space to sync the Mainnet8 MBit/sec download Internet service作为教程,我就采用两台M型号Ubuntu 20.04 VPS参与啦。 (其实我用的是本命Debian Bulleye,不过教程写的是Ubuntu的操作方法,如果想用Debian或其他操作系统,需要修改设置Repository步骤,修改方法就不放在这啦,可以去Docker官网上看,或者很欢迎来询问我哦) 租用服务器参考的文章地址如下~ https://mirror.xyz/0x73481089654b72c432071F2DCC0FFFCa6eD35a71/IgOFgzbJ143rbCdkZVQawbjaHsZLTF18T9bwC8nYiBIA 安装Docker通过SSH连上VPS(方法见前一篇文章) 保险起见删除旧版本的Dockerfor pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done 更新源以及安装依赖sudo apt-get update -y && sudo apt-get install ca-certificates curl gnupg 添加Docker官方GPG Key(没有返回值就对啦)sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg 设置Repository(也是没有返回值)echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 更新源并安装Docker引擎(顺便安装git和screen)sudo apt-get update sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin git screen B 获得Sepolia L1 Endpoint三种方法供选择(选一种就可以啦):AlchemyInfura(懒,不演示)自己运行Sepolia 节点,获得Endpoint(懒,不演示)B.1 Alchemy这里进: https://www.alchemy.com/登录或注册Alchemy账号Create App命名和描述随意,Chain选择Ethereum,Network选择Ethereum Sepolia点击View Key记录这两个地址,一个是HTTPS,一个是WSB.2 Infura在这里在这里: https://www.infura.io/ 和Alchemy创建很像的,注意选择Sepolia Ethereum网络,同样会有那两个链接HTTPS和WS。B.3 Sepolia Archive Node用相应的服务器(如M型号以上)运行git clone https://github.com/eth-educators/eth-docker cd eth-docker cp default.env .env vim .env ARCHIVE_NODE参数设置为ARCHIVE_NODE=true vim使用方式见下C 运行Taiko节点cd ~ && git clone https://github.com/eth-educators/eth-docker.git && cd eth-docker ./ethd install #安装 ./ethd config #配置 ./ethd up #启动 C 配置Taiko节点git clone!git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node 将.env.sample文件复制为新文件.envcp .env.sample .env 用vim编辑变量(由于懒得解释我最喜欢的vim拥有如何强大的功能,小白请严格遵循步骤,步骤写得很白痴,为的是让大家都可以解决问题啦)vim .env 用鼠标滚轮向下滑动复制在B板块中得到的HTTPS链接 点击第一个“=”,会发现竖线光标出现在HTTP和=中间 使用Ctrl+V 复制在B板块中得到的WS链接 点击第二个“=” 使用Ctrl+V按ESC键(键盘左上角的),输入冒号: 看到下方有一个冒号:开始的提示符 输入wq,回车 ESC直到回车是退出Vim的方法,w表示写入,q表示退出。(我知道这写得很白痴啦,但是但是有人说他们弄不懂,所以就……)D 启用Proposer(Proposer和Prover选其一,或不选)注意,在Sepolia上要有一些$ETH和$TTKO 进入合约地址 https://sepolia.etherscan.io/address/0x6375394335f34848b850114b66A49D6F47f2cdA8#writeProxyContract 连接钱包,并点击2.depositTaikoToken输入你想要质押的$TTKO数量,后面加上八个0 比我质押了13个$TTKO 随后点击WriteSSH连接上服务器(已经连着的不用) 进入simple-taiko-node文件夹cd simple-taiko-node 同样修改.env文件(还是不教你们用vim惹) 这次用nano来编辑叭(前面也可以用nano编辑)nano .env 通过方向键,Ctrl+V之类的 设置ENABLE_PROPOSER=trueL1_PROPOSER_PRIVATE_KEY填写用来质押的钱包私钥,Ctrl+V就行**(注意信息安全)** L2_SUGGESTED_FEE_RECIPIENT填写接收奖励的钱包公钥 输入Ctrl+X,再输入y,回车(这是nano的保存退出方法)E 启用Prover(Proposer和Prover选其一,或不选)SSH连接上服务器(已经连着的不用) 进入simple-taiko-node文件夹cd simple-taiko-node 同样修改.env文件nano .env 设置ENABLE_PROVER=true L1_PROVER_PRIVATE_KEY为提供SepoliaETH的钱包私钥(注意安全)F 运行Taiko节点无论前面你是否选择成为Proposer或者Prover,或者单纯运行Taiko节点,下面的步骤都是启动节点的方法。 前台运行如果想要在后台运行docker compose up -d G 常用命令停止节点这个命令会关闭节点,不过会保留所有记录的卷,因此下次重新启动节点时,它不需要再次从头开始同步啦。删除节点这个命令将通过删除每个Docker容器使用的所有卷来完全删除节点:docker compose down -vrm -f .env 更新节点更新simple-taiko-nodeDocker 镜像:查看节点的日志要查看 Docker 日志,可以运行以下命令:查看所有日志docker compose logs -f 查看提案者图像的日志docker compose logs -f taiko_client_proposer 查看验证者镜像的日志docker compose logs -f taiko_client_prover_relayer 查看L2执行引擎日志docker compose logs -f l2_execution_engine 查看正在运行的容器的实时数据流这显示了 CPU/MEM USAGE % 以及机器资源的消耗(添加前缀“ docker stats -a”以显示所有容器)查看Dashboard 通过访问(替换为VPS的IP地址) http://:3000/d/L2ExecutionEngine/l2-execution-engine-overview IV Windows Windows上区别不大,不过需要已经配置好WSL,配置WSL方法也见我上一篇文章。 https://mirror.xyz/0x73481089654b72c432071F2DCC0FFFCa6eD35a71/IgOFgzbJ143rbCdkZVQawbjaHsZLTF18T9bwC8nYiBI 这里安装git: 全点next即可 https://gitforwindows.org/ 这里安装Docker: https://docs.docker.com/desktop/install/windows-install/ 双击安装,重启或注销 (仍然注意,家庭版或学生版,请谷歌“家庭版启动HyperV报错”,将某一段代码保存到文本里,修改后缀为.cmd或.bat,管理员运行,以解决HyperV问题) 若遇到 在powershell(输入Win+X,点击Windows终端(管理员))里输入 wsl --update 在桌面(或者某个文件夹里)按Shift+F10(Win11)(Win10只需要右键) 选择Open Git Bash Here git clone https://github.com/taikoxyz/simple-taiko-node.git cd simple-taiko-node 输入 cp .env.sample .env 在你使用shift+F10的目录里进入simple-taiko-node,用文本编辑器打开.env文件 修改.env文件,或者deposit(成为proposer)之类的参考Linux部分就可以啦。 命令行里使用,来启动节点,其他常用命令同Linux部分啦 docker compose up 好啦,Taiko的节点部署教程到这里就结束啦!! 有能力和心情的话,也请务必阅读官方文档: https://taiko.xyz/docs 我学识有限,难免出现不周之处,请指正!有任何问题也欢迎提出来,没有问题的话也欢迎来找我玩哦~ https://twitter.com/nyahunters 关注我叭,一起成为赌喵,nya~ (抽奖活动持续进行中!!!) ## Publication Information - [Nyahunters](https://paragraph.com/@nyahunters/): Publication homepage - [All Posts](https://paragraph.com/@nyahunters/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@nyahunters): Subscribe to updates - [Twitter](https://twitter.com/nyahunters): Follow on Twitter