# Sui全节点-Docker方式 **Published by:** [devops](https://paragraph.com/@web3devops/) **Published on:** 2022-07-19 **URL:** https://paragraph.com/@web3devops/sui-docker ## Content 硬件要求CPU:>= 2RAM: >= 8GStorages: >= 50GTips: 按照官方说法,每两周会重置一次数据软件要求操作系统建议采用Linux,发行版建议采用 Debian 或 Ubuntu,官方测试的版本是:Ubuntu version 18.04 (Bionic Beaver),建议使用 Ubunt 18.04。依赖包(可选:需要本地构建则安装)$ apt-get update \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC && \ apt-get install -y --no-install-recommends \ tzdata \ git \ ca-certificates \ curl \ build-essential \ libssl-dev \ pkg-config \ libclang-dev \ cmake 配置全节点配置全节点有两种方式,第一种方式是通过 Docker,第二种方式采用 源码编译Docker方式下面介绍采用docker的方式运行全节点安装 docker 运行环境移除旧版本(可选)如果系统自带了docker,建议删除,因为系统自带的docker一般版本都比较低,删除命令如下:$ sudo apt-get remove docker docker-engine docker.io containerd runc 设置docker官方仓库1、更新apt源,并安装相关工具$ sudo apt-get update \ &&apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release 2、增加 docker 官方 GPG key sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 3、使用以下命令设置存储库$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 安装docker engine1、更新 apt 包索引,以及安装docker、containerd、以及docker-compose$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin 查看docker 服务运行状态systemctl status docker 配置 Sui Full Node首先建议创建一个目录用于存放相关的配置文件,这里我会创建一个 /blockchain/sui/devtest 目录,并 cd /blockchain/sui/devnet 进入该目录Tips: 后续所有的操作均在该目录中执行配置 tmux(可选)为了防止由于网络中断导ssh断开,我一般会使用 tmux工具进行session的管理,防止网络断开。 1、安装 tmux2、创建 sessiontmux new -s "sui-devnet-docker-full-node" Tips: 命名规则 项目-网络-运行环境-服务下载 docker-compose 配置文件wget https://github.com/MystenLabs/sui/blob/main/docker/fullnode/docker-compose.yaml 下载全节点配置文件wget https://github.com/MystenLabs/sui/raw/main/crates/sui-config/data/fullnode-template.yaml 下载创世文件wget https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob 启动 full nodedocker-compose up Tips: 这个过程会同步全网的交易信息,需要等待同步完成。测试节点是否正常启动一旦全节点启动并运行,测试一些 JSON-RPC 接口。获取最近的五笔交易curl --location --request POST 'http://127.0.0.1:9000/' \ --header 'Content-Type: application/json' \ --data-raw '{ "jsonrpc":"2.0", "id":1, "method":"sui_getRecentTransactions", "params":[5] }' 获取特定的交易详情curl --location --request POST 'http://127.0.0.1:9000/' \ --header 'Content-Type: application/json' \ --data-raw '{ "jsonrpc":"2.0", "id":1, "method":"sui_getTransaction", "params":["$RECENT_TXN_FROM_ABOVE"] }' 使用浏览器访问全节点!image-20220719142855225常用 docker 命令后台方式启动dockerdocker-compose up -d 停止节点docker-compose stop 重置环境重置之前建议备份您的相关配置文件docker-compose down --volumes 检查运行状态获取容器id进入容器docker exec -it -u 0 $CONTAINER_ID /bin/bash 检查数据库ls -la suidb/ 调用本地 RPC 连接问题更新全节点配置中的 json-rpc-address 以监听所有地址:sed -i 's/127.0.0.1/0.0.0.0/' fullnode-template.yaml -json-rpc-address: "127.0.0.1:9000" +json-rpc-address: "0.0.0.0:9000" ## Publication Information - [devops](https://paragraph.com/@web3devops/): Publication homepage - [All Posts](https://paragraph.com/@web3devops/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@web3devops): Subscribe to updates