区块链中文技术社区 - 测试网部署
type: channel
link: https://bcskill.com/index.php/tag/测试网部署/
items: 从零开始，纯净机器上部署EOS测试网 (版本v1.4.1)

从零开始，纯净机器上部署EOS测试网 (版本v1.4.1)
type: item
date: 2018-10-25T14:21:00+08:00
description: 系统准备 演示的系统为 Ubuntu 18.04 LTS，内存8g以上，硬盘300g+ clone EOS代码 我们以EOS-Mainnet仓库部署，（EOS-Mainnet是部署在目前EOS主网的版本，等于再次在EOSIO仓库测试过的版本，更稳定。） 开始clone 代码 //如果没有安装git,先安装 $sudo apt install git $git clone https://github.com/EOS-Mainnet/eos.git 切换到最新分支（当前的EOS最新版本为 v1.4.1） $git fetch $git checkout -b mainnet-1.4.1 编译代码 $git submodule update --init --recursive $./eosio_build.sh -s EOS 漫长等待，编译成功 执行安装 $sudo ./eosio_install.sh 安装成功后查看版本 $ nodeos -v mainnet-1.4.1 各个节点，分别创建钱包和密钥，准备用户名 创建钱包 cleos wallet create --to-console 记得保存返回的钱包解锁密码，丢失无法找回钱包内数据 创建密钥 cleos wallet create_key 创建的密钥会自动添加到钱包，如需查看，可执行 cleos wallet private_keys 输入钱包解锁密码查看 准备用户名 1-5a-z 字符12位，准备好，后面config配置中producer-name用到。 各个节点机器，分别创建目录 选定一个存储位置，用于存储EOS节点配置和节点数据。选定的磁盘存储一般要在300G以上，防止后期不够。 假设我们选定的磁盘位置为/data 然后在当前目录下，新建两个目录 eos-tools 用于存放eos节点的配置 data 用于存放eos节点数据 创世节点配置 进入eos-tools文件夹 创建genesis.json文件 直接生成genesis.json文件 nodeos --extract-genesis-json genesis.json 创建config.ini文件 创建config.ini文件，并输入以下信息 //修改本地节点rpc 访问端口，默认为8888，修改后，本地访问方式为`cleos -u http://127.0.0.1:8000 get info` http-server-address = 0.0.0.0:8000 //bp节点间的访问地址，当前节点的p2p-peer-address为，服务器IP或者域名，加上下面设置的端口 p2p-listen-endpoint = 0.0.0.0:8001 #设置一个自己的bp名字 agent-name = "EOS Shen Si" //创世节点名字必须为eosio producer-name = eosio #创建一对密钥 创世节点不能修改私钥 signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3 #创世节点才需要，其他bp不需要开启 enable-stale-production = true #添加一些稳定的其他bp节点 # p2p-peer-address = #以下为通用设置 wasm-runtime = wabt pause-on-startup = false abi-serializer-max-time-ms = 3000 chain-state-db-size-mb = 65535 reversible-blocks-db-size-mb = 2048 contracts-console = false p2p-max-nodes-per-host = 1 allowed-connection = any max-clients = 100 network-version-match = 1 sync-fetch-span = 500 #filter-on = * connection-cleanup-period = 30 max-implicit-request = 1500 http-validate-host = false access-control-allow-origin = * access-control-allow-headers = * access-control-allow-credentials = false verbose-http-errors = true #…