WAX技术指南第一期:创建一个WAX测试网节点
原文:EOSphere (Ross Dold) 翻译:WAX Eastern (NFT Gamer)
运行Antelope基础设施来支持WAX协议网络可能在一开始会让人有些望而生畏。本“WAX技术指南”系列文章旨在为WAX协议网络运行Rock Solid服务所需的基础设施和操作要求进行一些指导。
“WAX技术指南”第一期将向您展示如何开始在公共WAX测试网上构建WAX节点。
如何设置 WAX 测试网节点🧐
与主网相比,WAX 测试网对系统的要求相对较低,但它具有免费提供的 WAX 代币的完整功能,因此它是熟悉WAX软件和其网络本身的理想场所。
测试网要求📄
硬件
如果您想生产区块,建议使用 4 核 CPU / 4Ghz+
128GB 磁盘/SSD 或 NVMe为最佳
4GB 内存
操作系统
Ubuntu 18.04
Ubuntu 20.04(推荐)
Ubuntu 22.04
互联网
宽带/光纤连接(1Mb/s 及以上)
静态公共IP地址(终止于此节点或使用 NAT 转发)
构建软件⌨️
目前,WAX Block Producer接受的软件构建和版本是
v3.1.0wax01
,由EOS阿姆斯特丹公会成员cc32d9创建。最新的waxbuild标签目前在cc32d9 Github上可用。
04
建造过程🧑🏼💻
> cd ~
> sudo apt install -y file
> git clone <https://github.com/cc32d9/wax-leap.git>
> cd wax-leap
> git checkout v3.1.0.wax01
> git submodule update --init --recursive
> sudo bash scripts/install_deps.sh
> mkdir build
# If necessary supplement $(nproc) below with the number of jobs your server can sustain, I suggest 4GB RAM required / job
> nice bash scripts/pinned_build.sh ~/wax-leap/build/leap-deps ~/wax-leap/build $(nproc)
#Binaries are located in ~/wax-leap/build/programs
配置🌐
现在已经编译了一个干净的WAX软件版本,让我们开始配置操作。
要配置和启动节点,将使用
nodeos
,nodeos
是在每个 WAX 协议网络节点上运行的核心服务守护程序。nodeos
可以配置为处理智能合约、验证交易、生成包含有效交易的块,并确认块以将它们记录在区块链上。你可以在这里(https://developers.eos.io/manuals/eos/latest/nodeos/index)读到更多关于它的内容。nodeos
的主要操作功能是:将其作为区块生产者、网络 API 端点、P2P 种子节点或状态历史节点运行。通常在WAX主网繁忙的网络上,你可以在分散的服务器上分离这些功能。在此WAX测试网示例中,您将使您的节点连接到其他网络对等点,提供P2P种子节点服务,并使该节点可用作网络API端点。本节点不提供历史数据查询支持。
nodeos
需要两个文件来连接到对等点并在WAX测试网上运行:06
配置文件📃
按照以下命令运行不带配置的nodeos
来创建默认的config.ini
:
> mkdir ~/waxdata
> cd ~/wax-leap/build/programs/nodeos
> ./nodeos --data-dir ~/waxdata --config-dir ~/waxdata
然后您将能够编辑新创建的config.ini
并查看所有可用参数:
> cd ~/waxdata
> nano config.ini
现在编辑config.ini
并添加以下配置设置:
wasm-runtime = eos-vm-jit
chain-state-db-size-mb = 16384
chain-state-db-guard-size-mb = 1024
enable-account-queries = true
http-server-address = 0.0.0.0:8888
access-control-allow-origin = *
access-control-allow-headers = Origin, X-Requested-With, Content-Type, Accept
http-max-response-time-ms = 100
verbose-http-errors = true
http-validate-host = false
p2p-listen-endpoint = 0.0.0.0:9876
# 3dkrenderwax: FI, Finland
p2p-peer-address = testnet-p2p.3dkrender.com:9876
# amsterdamwax: DE, Falkenstein
p2p-peer-address = waxtest.eu.eosamsterdam.net:9912
# blokcrafters: US, Portland, Oregon
p2p-peer-address = waxtest-peer-us.blokcrafters.io:19876
# blokcrafters: FI, Helsinki, Uusimaa
p2p-peer-address = waxtest-peer-eu.blokcrafters.io:19876
# bountyblokbp: FR, France
p2p-peer-address = p2p.wax-test.bountyblok.io:9874
# bp.box: KY, Cayman Islands
p2p-peer-address = waxtest.defibox.xyz:19876
# eosdacserver: DE, Germany
p2p-peer-address = waxtest-p2p.eosdac.io:49876
# eosiodetroit: US, wax-testnet-bp
p2p-peer-address = p2p.testnet.wax.detroitledger.tech:1337
# eosphereiobp: AU, Sydney
p2p-peer-address = peer1-wax-testnet.eosphere.io:9876
# greeneosiobp: DE, Germany
p2p-peer-address = p2p.waxtest.waxgalaxy.io:9878
# guild.nefty: DE, Germany
p2p-peer-address = p2p-testnet.neftyblocks.com:19876
# ivote4waxusa: US, Greenville,SC,USA
p2p-peer-address = test.wax.p2p.eosusa.io:19875
# liquidgaming: DE, Germany
p2p-peer-address = 138.201.23.118:9877
# nation.wax: CA, Canada
p2p-peer-address = waxtest.seed.eosnation.io:9876
# oneinacilian: GB, United Kingdom
p2p-peer-address = p2ptest.oiac.io:10877
# pink.gg: DE, Germany
p2p-peer-address = peer1.testnet.wax.pink.gg:16714
# waxhiveguild: DE, Germany
p2p-peer-address = peer-test.hivebp.io:9876
# waxmadrid111: DE, SEED
p2p-peer-address = wax-seed-testnet.eosiomadrid.io:9876
# waxswedenorg: SE, Sweden
p2p-peer-address = p2p.testnet.waxsweden.org:59676
# wecan: DE, Berlin
p2p-peer-address = seed1-wax-testnet.wecan.dev:9876
# wecan: GB, London
p2p-peer-address = seed2-wax-testnet.wecan.dev:9876
#EOSNation Provided PeerList - <https://validate.eosnation.io/waxtest/reports/config.html#>
agent-name = "<yourname> WAX Testnet"
max-clients = 100
sync-fetch-span = 500
plugin = eosio::http_plugin
plugin = eosio::chain_plugin
plugin = eosio::chain_api_plugin
Genesis.json
这些是 WAX 测试网上每个新的起始节点所需的初始状态参数。创建文件如下:
> cd ~/waxdata
> nano genesis.json
将以下参数添加到WAX公共测试网的genesis.json
文件中:
{
"initial_timestamp": "2019–12–06T06:06:06.000",
"initial_key": "EOS7PmWAXLBaqCzSgbq8cyr2HFztQpwBpXk3djBJA8fyoyUnYM37q",
"initial_configuration": {
"max_block_net_usage": 1048576,
"target_block_net_usage_pct": 1000,
"max_transaction_net_usage": 524288,
"base_per_transaction_net_usage": 12,
"net_usage_leeway": 500,
"context_free_discount_net_usage_num": 20,
"context_free_discount_net_usage_den": 100,
"max_block_cpu_usage": 200000,
"target_block_cpu_usage_pct": 2500,
"max_transaction_cpu_usage": 150000,
"min_transaction_cpu_usage": 100,
"max_transaction_lifetime": 3600,
"deferred_trx_expiration_window": 600,
"max_transaction_delay": 3888000,
"max_inline_action_size": 4096,
"max_inline_action_depth": 6,
"max_authority_depth": 6
}
}
运行Nodeos
现在已经配置config.ini
并创建了初始WAX测试网链参数genesis.json
,您现在可以加入网络并同步节点。
使用屏幕即使在断开连接时也能使您的会话保持活动状态,用法如下:
Create a new screen session
----------------------------
> screen -US wax
Disconnect screen session
-------------------------
> ctrl-a+d
Reconnect screen session
------------------------
> screen -r wax
nodeos
使用指向配置、数据目录和创世文件的指针运行节点:
> cd ~/wax-leap/build/programs/nodeos
> ./nodeos --data-dir ~/waxdata --config-dir ~/waxdata --genesis-json ~/waxdata/genesis.json
您的 WAX 测试网节点现在将开始与配置的对等点同步,直到它赶上并与 WAX 测试网链同步。
在 “WAX 技术指南”的下一期中,将探讨状态数据库快照的作用以及它们如何加快节点同步。
Play and Own 将在2023年取代Play to Earn
了解更多,加入橘猫玩家公会:
Telegram:https://t.me/NFTGamerChina
Discord:https://discord.gg/NU82sXeTNs
阅读原文,获取详细信息