查看原文
其他

WAX技术指南第一期:创建一个WAX测试网节点

NFT Gamer NFT Gamer 2023-02-23
点击蓝字关注我们

原文:EOSphere (Ross Dold)
翻译:WAX Eastern (NFT Gamer)

运行Antelope基础设施来支持WAX协议网络可能在一开始会让人有些望而生畏。本“WAX技术指南”系列文章旨在为WAX协议网络运行Rock Solid服务所需的基础设施和操作要求进行一些指导。



“WAX技术指南”第一期将向您展示如何开始在公共WAX测试网上构建WAX节点。


本文已更新以纳入AntelopeLeap软件构建过程。


01


如何设置 WAX 测试网节点🧐


与主网相比,WAX 测试网对系统的要求相对较低,但它具有免费提供的 WAX 代币的完整功能,因此它是熟悉WAX软件和其网络本身的理想场所。


02


测试网要求📄

硬件

  • 如果您想生产区块,建议使用 4 核 CPU / 4Ghz+

  • 128GB 磁盘/SSD 或 NVMe为最佳

  • 4GB 内存

操作系统

  • Ubuntu 18.04

  • Ubuntu 20.04(推荐)

  • Ubuntu 22.04

互联网

  • 宽带/光纤连接(1Mb/s 及以上)

  • 静态公共IP地址(终止于此节点或使用 NAT 转发)


03


构建软件⌨️WAX软件源自开源Antelope软件,但经过修改以适应 WAX 协议网络的需要。
目前,WAX Block Producer接受的软件构建和版本是v3.1.0wax01,由EOS阿姆斯特丹公会成员cc32d9创建。
最新的waxbuild标签目前在cc32d9 Github上可用。
04


建造过程🧑🏼‍💻


此示例使用Ubuntu Linux按照以下过程从源代码构建WAX软件:
> 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


05


配置🌐
现在已经编译了一个干净的WAX软件版本,让我们开始配置操作。
要配置和启动节点,将使用nodeosnodeos是在每个 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-jitchain-state-db-size-mb = 16384chain-state-db-guard-size-mb = 1024enable-account-queries = truehttp-server-address = 0.0.0.0:8888access-control-allow-origin = *access-control-allow-headers = Origin, X-Requested-With, Content-Type, Accepthttp-max-response-time-ms = 100verbose-http-errors = truehttp-validate-host = falsep2p-listen-endpoint = 0.0.0.0:9876
# 3dkrenderwax: FI, Finlandp2p-peer-address = testnet-p2p.3dkrender.com:9876
# amsterdamwax: DE, Falkensteinp2p-peer-address = waxtest.eu.eosamsterdam.net:9912
# blokcrafters: US, Portland, Oregonp2p-peer-address = waxtest-peer-us.blokcrafters.io:19876
# blokcrafters: FI, Helsinki, Uusimaap2p-peer-address = waxtest-peer-eu.blokcrafters.io:19876
# bountyblokbp: FR, Francep2p-peer-address = p2p.wax-test.bountyblok.io:9874
# bp.box: KY, Cayman Islandsp2p-peer-address = waxtest.defibox.xyz:19876
# eosdacserver: DE, Germanyp2p-peer-address = waxtest-p2p.eosdac.io:49876
# eosiodetroit: US, wax-testnet-bpp2p-peer-address = p2p.testnet.wax.detroitledger.tech:1337
# eosphereiobp: AU, Sydneyp2p-peer-address = peer1-wax-testnet.eosphere.io:9876
# greeneosiobp: DE, Germanyp2p-peer-address = p2p.waxtest.waxgalaxy.io:9878
# guild.nefty: DE, Germanyp2p-peer-address = p2p-testnet.neftyblocks.com:19876
# ivote4waxusa: US, Greenville,SC,USAp2p-peer-address = test.wax.p2p.eosusa.io:19875
# liquidgaming: DE, Germanyp2p-peer-address = 138.201.23.118:9877
# nation.wax: CA, Canadap2p-peer-address = waxtest.seed.eosnation.io:9876
# oneinacilian: GB, United Kingdomp2p-peer-address = p2ptest.oiac.io:10877
# pink.gg: DE, Germanyp2p-peer-address = peer1.testnet.wax.pink.gg:16714
# waxhiveguild: DE, Germanyp2p-peer-address = peer-test.hivebp.io:9876
# waxmadrid111: DE, SEEDp2p-peer-address = wax-seed-testnet.eosiomadrid.io:9876
# waxswedenorg: SE, Swedenp2p-peer-address = p2p.testnet.waxsweden.org:59676
# wecan: DE, Berlinp2p-peer-address = seed1-wax-testnet.wecan.dev:9876
# wecan: GB, Londonp2p-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 = 100sync-fetch-span = 500plugin = eosio::http_pluginplugin = eosio::chain_pluginplugin = eosio::chain_api_plugin


07


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 }}


08


运行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 技术指南”的下一期中,将探讨状态数据库快照的作用以及它们如何加快节点同步。



END


往期回顾BREAK AWAY


Play and Own 将在2023年取代Play to Earn


市值是评判区块链项目是否成功的唯一要素吗?


初探元宇宙和NFT的技术与未来



了解更多,加入橘猫玩家公会:


Telegram:https://t.me/NFTGamerChina

Discord:https://discord.gg/NU82sXeTNs







阅读原文,获取详细信息



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存