网络配置详情

网络

一、Polygon-Mainnet

终于!!! Polygon 主网对开发者开放

相应的文档包含 RPC - HTTP、WS 和 Dagger 端点的详细信息。 如果您希望设置自己的完整节点,还有一个完整节点设置。

NetworkName Polygon Mainnet
ParentChain Ethereum Mainnet
chainId 137
Gas Token MATIC Token (For more...)
Gas Station https://polygonscan.com/gastracker (recommended) orhttps://gasstation-mainnet.matic.network/v2 (For more...)

RPC New unified URL (recommended): https://polygon-rpc.com/ Use this new aggregated RPC link to avoid RPC disconnects. You can read more details on this here and here.

Use these alternative RPCs only if the above RPC fails: https://rpc-mainnet.matic.network or https://matic-mainnet.chainstacklabs.com or https://rpc-mainnet.maticvigil.com or https://rpc-mainnet.matic.quiknode.pro or https://matic-mainnet-full-rpc.bwarelabs.com

公共rpc根据使用情况可能有流量或速率限制。你可以注册一个专用的免费RPC URL在以下: - Alchemy - Ankr - BlockPI - Chainstack - DataHub (Figment) - Getblock - Infura - MaticVigil - Moralis - Pocket Network - QuickNode

Websocket: wss://rpc-mainnet.matic.network or wss://ws-matic-mainnet.chainstacklabs.com or wss://rpc-mainnet.maticvigil.com/ws or wss://rpc-mainnet.matic.quiknode.pro or wss://matic-mainnet-full-ws.bwarelabs.com or wss://matic-mainnet-archive-ws.bwarelabs.com

公共rpc根据使用情况可能有流量或速率限制。你可以注册一个专用的免费RPC URL在以下: - Alchemy - Ankr - Chainstack - DataHub (Figment) - Getblock - Infura - MaticVigil - Moralis - QuickNode

Heimdall API https://heimdall.api.matic.network
Block Explorer https://polygonscan.com/

更多细节: https://github.com/maticnetwork/static/blob/master/network/mainnet/v1/index.json

二、Mumbai-Testnet

Mumbai测试网复制多边形主网,这是用于测试。测试网币是独立的,与实际的代币/资产是不同的,永远不应该有任何价值。这允许应用程序开发人员或验证人员/测试人员进行实验,而无需使用实际资产或担心破坏主多边形链。

相应的文档包含了RPC - HTTP, WS和Dagger端点的详细信息。如果您希望设置自己的完整节点,还可以设置完整节点。

NetworkName Mumbai
ParentChain Goërli
chainId 80001
Gas Token MATIC Token (For more...)
Gas Station https://gasstation-mumbai.matic.today/v2 (For more...)

RPC: https://rpc-mumbai.matic.today or https://matic-mumbai.chainstacklabs.com or https://rpc-mumbai.maticvigil.com or https://matic-testnet-archive-rpc.bwarelabs.com

公共rpc根据使用情况可能有流量或速率限制。你可以注册一个专用的免费RPC URL在以下: - Alchemy - Ankr - BlockPI - Chainstack - DataHub (Figment) - Getblock - Infura - MaticVigil - Moralis - Pocket Network - QuickNode

Websocket: wss://rpc-mumbai.matic.today or wss://ws-matic-mumbai.chainstacklabs.com or wss://rpc-mumbai.maticvigil.com/ws or wss://matic-testnet-archive-ws.bwarelabs.com

公共rpc根据使用情况可能有流量或速率限制。你可以注册一个专用的免费RPC URL在以下: - Alchemy - Ankr - Chainstack - DataHub (Figment) - Getblock - Infura - MaticVigil - Moralis - QuickNode

Heimdall API https://heimdall.api.matic.today
Block Explorer https://mumbai.polygonscan.com/

更多细节: https://static.matic.network/network/testnet/mumbai/index.json

映射代币

Polygon-Mainnet

如果您想映射您的代币,请通过 https://mapper.polygon.technology/ 发送您的映射请求

下表展示了 Polygon-Mainnet 上不同映射代币的一些示例,包括但不限于:

Token Name Bridge
Polygon Plasma
Plasma-DAI Plasma
ERC20-TestToken Plasma
Plasma-WETH Plasma
ERC721-TestToken Plasma
PoS-WETH PoS
PoS-USDC PoS
PoS-COMP PoS
PoS-LEND PoS
PoS-YFI PoS
PoS-USDT PoS
PoS-DAI PoS
PoS-BUSD PoS
PoS-MANA PoS
PoS-WBTC PoS
PoS-0xBTC PoS
PoS-KIWI PoS
PoS-DUST PoS
PoS-SPN PoS
DummyERC20Token PoS
DummyERC721Token PoS
DummyERC1155Token PoS
WDEV PoS

二、Mbai-Testnet

如果您想映射您的代币,请通过 https://mapper.polygon.technology/ 发送您的映射请求

下表显示了Mbai-Testnet上不同映射代币的一些示例,包括但不限于:

Token Name Bridge
Polygon Plasma
ERC20-TestToken Plasma
Plasma-WETH Plasma
ERC721-TestToken Plasma
PoS-WETH PoS
DummyERC20Token PoS
DummyERC721Token PoS
DummyERC1155Token PoS

Matic Gas 代币

一、Polygon-Mainnet

Polygon网络

MATIC代币是Polygon的原生代币。这类似于以太坊中的以太。

为了与Polygon交互,MATIC令牌需要支付天然气费用。

  • 在Polygon链上,Matic代币作为原生代币工作。这意味着用户既可以使用MATIC支付gas,也可以将MATIC发送到其他账户,就像他们在Ethereum上使用ETH支付gas费用并将ETH发送给其他人一样。

  • 这是一个示例脚本,从一个帐户发送到另一个Polygon链上的MATIC代币。

获得Matic代币非常容易。您可以使用Goerli上部署的等离子或PoS合约将MATIC代币从Goerli存入Mumbai。

  • 步骤1:获得MATIC Token:
  • 在Ethereum,自动ERC20代币可以从以下地方购买 a.分散交易所(DEX)
    • DFYN
    • SushiSwap
    • Uniswap
    • Bancor

b.直接存款/取款到Polygon

- AscendEX
- MXC
- OKEx
- OKCoin
- Transak
- Binance
- Crypto.com
- KuCoin
- Gate.io
    3. Other Exchanges
    - [Coinbase](https://www.coinbase.com/)
    - [Huobi](https://www.huobi.com/)
    - [FTX](https://ftx.com/)
    - [Digifinex](https://www.digifinex.com/)
    - [Kraken](https://www.kraken.com/)
    - [CEX.io](https://cex.io/)
    - [Probit](https://www.probit.com/)
    - [HitBTC](https://hitbtc.com/)
  • 第 2 步:存入 MATIC 代币:
  • 您可以使用我们的钱包网站存入代币,
  • (推荐)使用新的 Polygon Web 钱包:https://wallet.polygon.technology/
  • (您可以使用 Maticjs:https://maticnetwork.github.io/matic.js/

瞧,你现在可以开始与 Polygon 互动了

二、Mumbai—Testken

MATIC代币是Polygon的原生代币。这类似于Ethereum中的以太。为了与Polygon网络交互,需要支付MATIC代币作为天然气费用。

  • 在Polygon链上,Matic代币作为原生代币工作。这意味着用户既可以使用MATIC支付gas,也可以将MATIC发送到其他账户,就像他们在Ethereum上使用ETH支付gas费用并将ETH发送给其他人一样。

  • 这是一个示例脚本,从一个帐户发送到另一个Polygon链上的MATIC代币。

获得Matic代币非常容易。您可以使用Goerli上部署的等离子或PoS合约将MATIC代币从Goerli存入Mumbai。

获得Mumbai自动token的方法:

  • 水龙头:https://faucet.polygon.technology

  • 选择电气自动方式代币

  • 和网络Goerli或Mumbai

  • 输入您的帐户地址并确认

  • 如果你想和gorli↔Mumbai互动,

  • 您可以使用Maticjs: https://maticnetwork.github.io/matic.js/

  • 或者使用我们新的Polygon Web Wallet�:https://wallet-dev.polygon.technology/

创世纪合约

一、Polygon-Mainnet

父链:Ethereum主网

Contracts Address
BytesLib 0x1d21fACFC8CaD068eF0cbc87FdaCdFb20D7e2417
Common 0x31851aAf1FA4cC6632f45570c2086aDcF8B7BD75
ECVerify 0x71d91a8988D81617be53427126ee62471321b7DF
Merkle 0x8b90C7633F1f751E19E76433990B1663c625B258
MerklePatriciaProof 0x8E51a119E892D3fb324C0410F11f39F61dec9DC8
PriorityQueue 0x61AdDcD534Bdc1721c91740Cf711dBEcE936053e
RLPEncode 0x021c2Bf4d2941cE3D593e07317EC355937bae495
RLPReader 0xD75f1d6A8A7Dc558A65c2f30eBF876DdbeE035a2
SafeMath 0x96D358795782a73d90F2ed2d505aB235D197ca05
Governance 0x98165b71cdDea047C0A49413350C40571195fd07
GovernanceProxy 0x6e7a5820baD6cebA8Ef5ea69c0C92EbbDAc9CE48
Registry 0x33a02E6cC863D393d6Bf231B697b82F6e499cA71
RootChain 0x536c55cFe4892E581806e10b38dFE8083551bd03
RootChainProxy 0x86E4Dc95c7FBdBf52e33D563BbDB00823894C287
ValidatorShareFactory 0xc4FA447A0e77Eff9717b09C057B40570813bb642
StakingInfo 0xa59C847Bd5aC0172Ff4FE912C5d29E5A71A7512B
StakingNFT 0x47Cbe25BbDB40a774cC37E1dA92d10C2C7Ec897F
StakeManager 0xd6f5c46d4e1a02f9d145cee41d2f8af30d8d2d76
StakeManagerProxy 0x5e3Ef299fDDf15eAa0432E6e66473ace8c13D908
SlashingManager 0x01F645DcD6C796F6BC6C982159B32fAaaebdC96A
ValidatorShare 0x01d5dc56ad4206bb0c132d834644d57f51fed5ec
StateSender 0x28e4F3a7f651294B9564800b2D01f35189A5bFbE
DepositManager 0xd505C3822C787D51d5C2B1ae9aDB943B2304eB23
DepositManagerProxy 0x401F6c983eA34274ec46f84D70b31C151321188b
WithdrawManager 0x017C89Ca4Bda3D66cC65E3d20DD95432258201Ca
ExitNFT 0xDF74156420Bd57ab387B195ed81EcA36F9fABAca
WithdrawManagerProxy 0x2A88696e0fFA76bAA1338F2C74497cC013495922
ERC20Predicate 0x158d5fa3ef8e4dda8a5367decf76b94e7effce95
ERC721Predicate 0x54150f44c785d412ec262fe895cc3b689c72f49bContracts Address

子链:Polygon-Mainnet

Contracts Address
ChildChain 0xD9c7C4ED4B66858301D0cb28Cc88bf655Fe34861

二、Mbai-Testnet

父链:Goerli

Contracts Address
BytesLib 0xde5807d201788dB32C38a6CE0F11d31b1aeB822a
Common 0x84Dc17F28658Bc74125C7E82299992429ED34c12
ECVerify 0xccd1d8d16F462f9d281024CBD3eF52BADB10131C
Merkle 0xCD87Be2Df3de01EA23666c97104613ec252300E8
MerklePatriciaProof 0x3a0Db8fa2805DEcd49cCAa839DaC15455498EDE2
PriorityQueue 0xD26361204b8e4a4bb16668bfE7A1b9106AD17140
RLPEncode 0xDE0D18799a20f29d9618f8DDbf4c2b029FAdc491
RLPReader 0xA5e463c187E53da5b193E2beBca702e9fEeA3738
SafeMath 0x1bEb355BE0577E61870C4c57DAaa6e2129dd0604
Governance 0x03Ac67D03A06571A059F20425FFD1BEa300d98C2
GovernanceProxy 0xAcdEADEE4c054A86F5b1e8705126b30Ec999899B
Registry 0xeE11713Fe713b2BfF2942452517483654078154D
RootChain 0x77f32d6c7bf3639b2f59c6843420e80e9e3a86af
RootChainProxy 0x2890bA17EfE978480615e330ecB65333b880928e
ValidatorShareFactory 0x5737AD9095AB4d55FeE7F972ea7F86734695E3c1
StakingInfo 0x29C40836C17f22d16a7fE953Fb25DA670C96d69E
StakingNFT 0x532c7020E0F3666f9440B8B9d899A9763BCc5dB7
StakeManager 0xc1b9b1ff63ef14502f7c6c8e9f5eed47654695ae
StakeManagerProxy 0x00200eA4Ee292E253E6Ca07dBA5EdC07c8Aa37A3
SlashingManager 0xDD17DE137c7Cc288E022fE95a3B398C94BDd5b83
ValidatorShare 0xa7957328580692f6440948c3c479a9cde17de206
StateSender 0xEAa852323826C71cd7920C3b4c007184234c3945
DepositManager 0x20339c5Ea91D680E681B9374Fc0a558D5b96a026
DepositManagerProxy 0x7850ec290A2e2F40B82Ed962eaf30591bb5f5C96
WithdrawManager 0xb075cdda944d4e1ff19f2201cdc3a440a11d4710
ExitNFT 0xE2Ab047326B38e4DDb6791551e8d593D30E02724
WithdrawManagerProxy 0x2923C8dD6Cdf6b2507ef91de74F1d5E0F11Eac53
ERC20Predicate 0x39c1e715316a1acbce0e6438cf62edf83c111975
ERC721Predicate 0x473cb675c9214f79dee10948443509c441a678e7

子链:Mumbai

Contracts Address
ChildChain 0x1EDd419627Ef40736ec4f8ceffdE671a30803c5e

最低技术要求

对于即将到来的测试网事件,这是最小的硬件配置:

全节点的最小硬件配置

  • 内存:至少需要补充16-32 GB

  • CPU: 4-8核CPU (t3 xLarge)

  • 存储:至少650GB SSD(确保它是可扩展的)

虽然我们不赞成任何操作系统,但更安全和稳定的 Linux 服务器发行版(如 CentOS)应该优于桌面操作系统(如 Mac OS 和 Windows)。

我们将在适当的时候提供关于硬件设置的更详细的信息。

Heimdall 和 Bor 的快照说明

在设置新的哨兵、验证器或全节点服务器时,建议您使用快照以加快同步速度,而无需通过网络同步。 使用快照将为 Heimdall 和 Bor 节省几天时间。

Heimdall快照

首先,您需要根据节点设置指南使用先决条件设置节点。 在启动 Heimdall 同步服务之前,请按照以下步骤使用快照:

1.通过运行以下命令,在您的 VM 上下载 Heimdall 的快照 tar 文件:

wget -c <snapshot url>

// For example, this will download the snapshot of Heimdall:
wget -c https://matic-blockchain-snapshots.s3-accelerate.amazonaws.com/matic-mainnet/heimdall-snapshot-2021-09-12.tar.gz

2.若要解压 Heimdall 数据目录中的 tar 文件,请运行以下命令:

// You must ensure you are running this command
// before you start the Heimdall service on your node.
// If your Heimdall service has started, please stop the service and run the following command:
// Once unpacking is complete, you can start the Heimdall service again:
tar -xzvf <snapshot file> -C <HEIMDALL_DATA_DIRECTORY>

// If your Heimdall data directory is different,
// please replace the directory name in the command for starting the Heimdall service.
// When this command completes, you may delete the tar file to reclaim space.

// For example, this will unpack the tar file in the Heimdall Data directory:
tar -xzvf heimdall-snapshot-2021-09-12.tar.gz -C ~/.heimdalld/data/

Bor 快照

首先,您需要按照节点设置指南设置节点的先决条件。 在启动 Bor 同步服务之前,请按照以下步骤使用快照:

  1. 通过运行以下命令,在您的 VM 上下载 Bor 的快照 tar 文件:
wget -c <snapshot url>

// For example:
wget -c https://matic-blockchain-snapshots.s3-accelerate.amazonaws.com/matic-mainnet/bor-pruned-snapshot-2021-09-08.tar.gz
  1. 若要解压Bor数据目录中的tar文件,请运行以下命令:
// You must ensure you are running this command
// before you start the Bor service on your node.
// If your Bor service has started, please stop the service and run the following command:
// Once unpacking is complete, you can start the Bor service again.

tar -xzvf <snapshot file> -C <BOR_DATA_DIRECTORY>

// If your bor data directory is different
// please replace the directory name in the command for starting the Bor service.
// When this command completes, you may delete the tar file to reclaim space.

// For example, this will unpack the tar file in the Bor data directory:
tar -xzvf bor-pruned-snapshot-2021-09-08.tar.gz -C ~/.bor/data/bor/chaindata

全部节点的二进制文件

一、Polygon-Mainnet

Polygon完全节点设置使用二进制文件

本节将指导您在二进制文件上启动和运行完整的节点。 系统要求请参见最低技术要求。

系统要求请参见最低技术要求。

先决条件

  • 需要一台机器。
  • build-essential 安装在全节点机器上。
  • 安装:
  • sudo apt-get install build-essential
  • 两台全节点机器上都安装了 Go 1.17。

概述

  • 准备好一台机器。
  • 在全节点机器上安装 Heimdall 和 Bor 二进制文件。
  • 在全节点机器上设置 Heimdall 和 Bor 服务。
  • 配置完整节点。
  • 启动完整节点。
  • 与社区一起检查节点健康状况。

安装构建要素

这是您的完整节点所必需的

sudo apt-get install build-essential

安装 GO

这是您的完整节点所必需的

wget https://gist.githubusercontent.com/ssandeep/a6c7197811c83c71e5fead841bab396c/raw/go-install.sh
bash go-install.sh
sudo ln -nfs ~/.go/bin/go /usr/bin/go

注意:建议使用 Go 版本 1.17

安装二进制文件

海姆达尔

这是您的完整节点所必需的

接下来,安装最新版本的 Heimdall 和服务。 确保在 Git 上签出正确的发布版本。 请注意,最新版本 Heimdall v.0.2.8 包含一些增强功能,例如将状态同步 txs 中的数据大小限制为 100kb 和删除(新)验证器连接的随机数检查。 这将安装 heimdalld 和 heimdallcli 二进制文件。 验证一切正常:

  • 30Kb when represented in bytes
  • 60Kb when represented as string.

例如:

Data - "abcd1234"
Length in string format - 8
Hex Byte representation - [171 205 18 52]
Length in byte format - 4

运行代码:

cd ~/
git clone https://github.com/maticnetwork/heimdall
cd heimdall

# Checkout to a proper version
# For eg: git checkout v0.2.8-mainnet
git checkout <TAG OR BRANCH>
make install

这将安装heimdalld和heimdallcli二进制文件。确认一切正常:

heimdalld version --long

Bor

这对于完整的节点是必需的

接下来,安装最新版本的Bor。确保你通过Git签出了正确的发布版本

cd ~/
git clone https://github.com/maticnetwork/bor
cd bor

# Checkout to a proper version

# For eg: git checkout 0.2.14

git checkout <TAG OR BRANCH>
make bor-all
sudo ln -nfs ~/bor/build/bin/bor /usr/bin/bor
sudo ln -nfs ~/bor/build/bin/bootnode /usr/bin/bootnode

这将安装 bor 二进制文件和 bootnode 二进制文件:

bor version

设置节点文件

获取启动回购

cd ~/
git clone https://github.com/maticnetwork/launch

设置启动目录

要设置网络目录,需要网络名称和节点类型。

可用网络:mainnet-v1

节点类型:sentry和validator

cd ~/
mkdir -p node
cp -rf launch/<network-name>/sentry/<node-type>/* ~/node

# To setup sentry node for Polygon mainnet
# cp -rf launch/mainnet-v1/sentry/sentry/* ~/node

设置网络目录

Heimdall 的数据设置

cd ~/node/heimdall
bash setup.sh

Bor数据设置

cd ~/node/bor
bash setup.sh

设置服务文件

下载 service.sh 文件

cd ~/node
wget https://raw.githubusercontent.com/maticnetwork/launch/master/<network-name>/service.sh
# To setup sentry node for mainnet (mainnet-v1)
# wget https://raw.githubusercontent.com/maticnetwork/launch/master/mainnet-v1/service.sh

生成元数据文件

sudo mkdir -p /etc/matic
sudo chmod -R 777 /etc/matic/
touch /etc/matic/metadata

生成服务文件并将它们复制到系统目录中

cd ~/node
bash service.sh
sudo cp *.service /etc/systemd/system/

设置配置文件

  • 登录到远程机器/VM

  • 您需要在 config.toml 文件中添加一些详细信息。 要打开 config.toml 文件,请运行以下命令 vi ~/.heimdalld/config/config.toml

现在在配置文件中,您将不得不更改 Moniker 并添加种子信息

moniker=<enter unique identifier> For example, moniker=my-sentry-node
seeds="f4f605d60b8ffaaf15240564e58a81103510631c@159.203.9.164:26656,4fb1bc820088764a564d4f66bba1963d47d82329@44.232.55.71:26656"
  • 将 Pex 的值更改为 true

  • 将 Prometheus 的值更改为 true

  • 将 max_open_connections 值设置为 100

进行上述更改时,请确保保持正确的格式。

  • 接下来,您需要对 Bor 的 start.sh 文件进行更改。 将 vi ~/node/bor/start.sh 中的以下标志添加到 bor 启动参数:
--bootnodes "enode://0cb82b395094ee4a2915e9714894627de9ed8498fb881cec6db7c65e8b9a5bd7f2f25cc84e71e89d0947e51c76e85d0847de848c7782b13c0255247a6758178c@44.232.55.71:30303,enode://88116f4295f5a31538ae409e4d44ad40d22e44ee9342869e7d68bdec55b0f83c1530355ce8b41fbec0928a7d75a5745d528450d30aec92066ab6ba1ee351d710@159.203.9.164:30303"

要启用存档模式,您可以在 start.sh 文件中添加以下标志

--gcmode 'archive' \
--ws --ws.port 8546 --ws.addr 0.0.0.0 --ws.origins '*' \

启动服务

在 Sentry 节点上运行以下命令:

启动 Heimdall 服务

sudo service heimdalld start

启动Heimdall REST服务器

sudo service heimdalld-rest-server start

您可以在此处查看 Heimdall 和 rest-server 的日志:

  • Heimdall - journalctl -u heimdalld.service -f
  • Heimdall Rest Server - journalctl -u heimdalld-rest-server.service -f

现在您需要确保 Heimdall 已完全同步,然后才启动 Bor。 如果你在没有完全同步 Heimdall 的情况下启动 Bor,你会经常遇到问题。

  • 检查 Heimdall 是否已同步
  • 在远程机器/VM 上,运行 curl localhost:26657/status
  • 在输出中,catch_up 值应该为 false

现在,一旦 Heimdall 同步,运行

sudo service bor start

您可以在此处查看 Bor 日志: - Bor - journalctl -u bor.service -f

二、Mbai-Testnet

本节将指导您在二进制文件上启动和运行完整节点。

有关系统要求,请参阅最低技术要求。

先决条件

  • 需要一台机器。
  • build-essential 安装在全节点机器上。
  • 安装:
  • sudo apt-get install build-essential
  • 两台全节点机器上都安装了 Go 1.17。

概述

  • 准备好一台机器。
  • 在全节点机器上安装 Heimdall 和 Bor 二进制文件。
  • 在全节点机器上设置 Heimdall 和 Bor 服务。
  • 配置完整节点。
  • 启动完整节点。
  • 与社区一起检查节点健康状况。

安装构建要素

sudo apt-get install build-essential

安装 GO

wget https://gist.githubusercontent.com/ssandeep/a6c7197811c83c71e5fead841bab396c/raw/go-install.sh
bash go-install.sh
sudo ln -nfs ~/.go/bin/go /usr/bin/go

注意:建议使用 Go 版本 1.17

RabbitMq

RabbitMQ 是一种消息队列软件,也称为消息代理或队列管理器。 简单地说; 它是定义队列的软件,应用程序连接到队列以传输一条或多条消息。

嵌入到 heimdall 代码库中的名为 bridge 的辅助服务需要 rabbit-mq 将事务排队到多个网络。 安装它应该非常简单。

在此处查看下载说明:https://www.rabbitmq.com/download.html

rabbitmq-server

安装二进制文件

Heimdall

接下来,安装最新版本的 Heimdall 和服务。 确保你 git checkout 正确的发布版本

cd ~/
git clone https://github.com/maticnetwork/heimdall
cd heimdall

# Checkout to a proper version
# For eg: git checkout v0.2.1-mumbai
git checkout <TAG OR BRANCH>
make install

这将安装 heimdalld 和 heimdallcli 二进制文件。 验证一切正常:

heimdalld version --long

Bor

接下来,安装最新版本的 Bor。 确保你 git checkout 正确的发布版本

cd ~/
git clone https://github.com/maticnetwork/bor
cd bor

# Checkout to a proper version

# For eg: git checkout v0.2.14

git checkout <TAG OR BRANCH>
make bor-all
sudo ln -nfs ~/bor/build/bin/bor /usr/bin/bor
sudo ln -nfs ~/bor/build/bin/bootnode /usr/bin/bootnode

这将安装 bor 二进制文件和 bootnode 二进制文件:

bor version

设置节点文件

Fetch launch repo

cd ~/
git clone https://github.com/maticnetwork/launch

设置启动目录

要设置网络目录,需要网络名称和节点类型。

可用网络:mainnet-v1 和 testnet-v4

节点类型:senry和validator

cd ~/
mkdir -p node
cp -rf launch/<network-name>/sentry/<node-type>/* ~/node

# To setup sentry node for mumbai (testnet-v4) testnet
# cp -rf launch/testnet-v4/sentry/sentry/* ~/node

设置网络目录

Heimdall 数据设置

cd ~/node/heimdall
bash setup.sh

Bor数据设置

cd ~/node/bor
bash setup.sh

设置服务文件

下载 service.sh 文件

cd ~/node
wget https://raw.githubusercontent.com/maticnetwork/launch/master/<network-name>/service.sh
# To setup sentry node for mumbai (testnet-v4) testnet
# wget https://raw.githubusercontent.com/maticnetwork/launch/master/testnet-v4/service.sh

生成元数据文件

sudo mkdir -p /etc/matic
sudo chmod -R 777 /etc/matic/
touch /etc/matic/metadata

生成服务文件并将它们复制到系统目录中

cd ~/node
bash service.sh
sudo cp *.service /etc/systemd/system/

设置配置文件

对于Mumbai Testnet

  • Configure the following in ~/.heimdalld/config/config.toml:
  • moniker=

seeds="4cd60c1d76e44b05f7dfd8bab3f447b119e87042@54.147.31.250:26656,b18bbe1f3d8576f4b73d9b18976e71c65e839149@34.226.134.117:26656"

  • Configure the following in vi ~/.heimdalld/config/heimdall-config.toml:
eth_rpc_url =<insert Infura or any full node RPC URL to Goerli>
  • 将 vi ~/node/bor/start.sh 中的以下标志添加到 bor 启动参数:
--bootnodes "enode://320553cda00dfc003f499a3ce9598029f364fbb3ed1222fdc20a94d97dcc4d8ba0cd0bfa996579dcc6d17a534741fb0a5da303a90579431259150de66b597251@54.147.31.250:30303"

启动服务

使用以下命令运行完整的 Heimdall 节点:

sudo service heimdalld start
sudo service heimdalld-rest-server start

同步 Heimdall 后,启动 Bor:

sudo service bor start

日志

日志由 journalctl linux 工具管理。 这是高级用法的链接:https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs

检查 Heimdall 节点日志

journalctl -u heimdalld.service -f

检查 Heimdall Rest Server日志

journalctl -u heimdalld-rest-server.service -f

检查 Bor rest 服务器日志

journalctl -u bor.service -f

检查 Heimdall 是否已同步

1.在远程机器/VM 上,运行 curl localhost:26657/status 2.在输出中,catch_up 值应该为 false

端口和防火墙设置

在哨兵节点防火墙上打开以下端口 22、26656 和 30303 到世界 (0.0.0.0/0)。

您可以根据您的要求和安全准则使用 VPN 来限制对 22 端口的访问。

全节点部署

一、Polygon-Mainnet

全节点部署(Polygon主网)

我们已经创建了简单的Ansible剧本来设置一个完整的节点。

条件

  • 两台机器-一台本地机器,您将运行Ansible剧本;一个远程机器-全节点。

  • 在本地机器上,安装了Ansible。

  • 在本地机器上,Python 3。x安装。

  • 在远程机器上,确保没有安装Go。

  • 在远程机器上,您本地机器的SSH公钥在远程机器上,以便Ansible连接到它们。

概述

  • 要获得一个正在运行的完整节点,请执行以下操作:

  • 准备好两台机器。

  • 通过Ansible设置一个完整的节点。

  • 配置完整的节点。

  • 启动完整的节点。

  • 使用团体检查节点运行状况。

设置Polygon主网的完整节点

  • 确保您能够访问正在安装完整节点的远程机器或虚拟机。详情请参阅

  • 克隆https://github.com/maticnetwork/node-ansible repo

  cd node-ansible
  • 编辑 inventory.yml 文件并在 sentry->hosts 部分插入您的 IP。 有关详细信息,请参阅 https://github.com/maticnetwork/node-ansible#inventory

  • 通过运行 ansible sentry -m ping 检查远程机器是否可访问

  • 要进行测试运行以确认是否配置了正确的远程机器/VM,请运行以下命令:

ansible-playbook -l sentry playbooks/network.yml --extra-var="bor_branch=v0.2.14 heimdall_branch=v0.2.8 network_version=mainnet-v1 node_type=sentry/sentry heimdall_network=mainnet" --list-hosts

这就是输出

playbook: playbooks/network.yml
pattern: ['all']
host (1):
    xx.xxx.x.xxx
  • 使用以下命令设置完整的节点:
ansible-playbook -l sentry playbooks/network.yml --extra-var="bor_branch=v0.2.14 heimdall_branch=v0.2.8  network_version=mainnet-v1 node_type=sentry/sentry heimdall_network=mainnet"
  • 如果你遇到任何问题,删除和清理整个设置使用
ansible-playbook -l sentry playbooks/clean.yml
  • 登录到远程机器

  • 打开编辑vi ~/.heimdalld/config/config.toml:

moniker=<enter unique identifier>
seeds="f4f605d60b8ffaaf15240564e58a81103510631c@159.203.9.164:26656,4fb1bc820088764a564d4f66bba1963d47d82329@44.232.55.71:26656"
  • 打开编辑 vi ~/.heimdalld/config/heimdall-config.toml。

在 heimdall-config.toml 中,更改以下内容:

  • eth_rpc_url — 一个完全同步的Ethereum主网节点的 RPC 端点,即 Infura。 eth_rpc_url =<插入 Infura 或任何到Ethereum的完整节点 RPC URL>

示例:eth_rpc_url
保存 heimdall-config.toml 中的更改。

  • 在 ~/node/bor/start.sh 中将以下标志添加到 bor 启动参数:
--bootnodes "enode://0cb82b395094ee4a2915e9714894627de9ed8498fb881cec6db7c65e8b9a5bd7f2f25cc84e71e89d0947e51c76e85d0847de848c7782b13c0255247a6758178c@44.232.55.71:30303,enode://88116f4295f5a31538ae409e4d44ad40d22e44ee9342869e7d68bdec55b0f83c1530355ce8b41fbec0928a7d75a5745d528450d30aec92066ab6ba1ee351d710@159.203.9.164:30303"

启动Heimdall服务

最新版本,Heimdall v.0.2.8,包含了很少的增强,如限制状态同步txs中的数据大小为100kb和删除(新的)验证器连接的nonce-check。 - 30Kb when represented in bytes - 60Kb when represented as string.

例如:

Data - "abcd1234"
Length in string format - 8
Hex Byte representation - [171 205 18 52]
Length in byte format - 4
  • 使用如下命令运行完整节点:
  • 启动Heimdall:

sudo service heimdalld start

  • 要启动 Heimdall Rest Server,您可以运行以下命令:

sudo service heimdalld-rest-server start

同步 Heimdall 后,运行以下命令:

sudo service bor start

  • 检查日志:

  • 检查 Heimdall 日志:

journalctl -u heimdalld.service -f

  • 检查 Heimdall Rest Server日志

journalctl -u heimdalld-rest-server.service -f

  • 检查 Bor 日志

journalctl -u bor.service -f

  • 端口/防火墙配置

  • 在节点防火墙上打开端口 22、26656 和 30303 到世界 (0.0.0.0/0)。 所有其他端口应关闭。

全节点访问(通过 Alchemy)

1.访问 Alchemy.com 并注册一个免费帐户 2.获取您的私钥和 API 端点 3.使用您的 Alchemy 帐户访问 Polygon 主网

全节点访问(通过 Infura)

1.在 Infura 上注册一个免费帐户 2.创建一个 Ethereum 项目并添加 Polygon 3.开始提出请求

全节点访问(通过 Chainstack)

1.在 Chainstack 上注册一个免费帐户。 2.部署 Polygon 主网节点。 3.获取已部署节点的 HTTPS 端点。

全节点访问(通过 QuickNode)

1.访问 QuickNode 并注册一个免费帐户 2.获取您的免费试用节点 3.使用您的 QuickNode 节点访问 Polygon Mainnet

二 、Mumbai-Testnet

全节点部署(Mumbai-Testnet)

我们已经创建了简单的Ansible剧本来设置一个完整的节点。

条件

  • 两台机器-一台本地机器,您将运行Ansible剧本;一个远程机器-全节点。

  • 在本地机器上,安装了Ansible。

  • 在本地机器上,Python 3。x安装。

  • 在远程机器上,确保没有安装Go。

  • 在远程机器上,您本地机器的SSH公钥在远程机器上,以便Ansible连接到它们。

概述

  • 要获得一个正在运行的完整节点,请执行以下操作:

  • 准备好两台机器。

  • 通过Ansible设置一个完整的节点。

  • 配置完整的节点。

  • 启动完整的节点。

  • 使用团体检查节点运行状况。

设置Testnetv4/Mumbai测试网的完整节点

  • 确保您能够访问正在安装完整节点的远程机器或虚拟机。详情请参阅https://github.com/maticnetwork/node-ansible#setup

  • 克隆https://github.com/maticnetwork/node-ansible repo

  cd node-ansible
  • 编辑 inventory.yml 文件并在 sentry->hosts 部分插入您的 IP。 有关详细信息,请参阅 https://github.com/maticnetwork/node-ansible#inventory

  • 通过运行 ansible sentry -m ping 检查远程机器是否可访问

  • 要进行测试运行以确认是否配置了正确的远程机器/VM,请运行以下命令:

ansible-playbook -l sentry playbooks/network.yml --extra-var="bor_branch=v0.2.14 heimdall_branch=v0.2.8 network_version=mainnet-v1 node_type=sentry/sentry heimdall_network=mainnet" --list-hosts

这就是输出

playbook: playbooks/network.yml
pattern: ['all']
host (1):
    xx.xxx.x.xxx
  • 使用以下命令设置完整的节点:
ansible-playbook -l sentry playbooks/network.yml --extra-var="bor_branch=v0.2.14 heimdall_branch=v0.2.8  network_version=mainnet-v1 node_type=sentry/sentry heimdall_network=mainnet"
  • 如果你遇到任何问题,删除和清理整个设置使用
ansible-playbook -l sentry playbooks/clean.yml
  • 登录到远程机器

  • 打开编辑vi ~/.heimdalld/config/config.toml:

moniker=<enter unique identifier>
seeds="f4f605d60b8ffaaf15240564e58a81103510631c@159.203.9.164:26656,4fb1bc820088764a564d4f66bba1963d47d82329@44.232.55.71:26656"

如果你的Heimdall已经停止同步,你可以添加额外的种子到你的配置。toml文件:

 seeds="4cd60c1d76e44b05f7dfd8bab3f447b119e87042@54.147.31.250:26656,b18bbe1f3d8576f4b73d9b18976e71c65e839149@34.226.134.117:26656"
  • 打开编辑 vi ~/.heimdalld/config/heimdall-config.toml。
eth_rpc_url =<insert Infura or any full node RPC URL to Goerli>

在vi ~/node/bor/start.sh中添加以下标志到bor start params中:

--bootnodes "enode://320553cda00dfc003f499a3ce9598029f364fbb3ed1222fdc20a94d97dcc4d8ba0cd0bfa996579dcc6d17a534741fb0a5da303a90579431259150de66b597251@54.147.31.250:30303"
  • 在 ~/node/bor/start.sh 中将以下标志添加到 bor 启动参数:
--bootnodes "enode://0cb82b395094ee4a2915e9714894627de9ed8498fb881cec6db7c65e8b9a5bd7f2f25cc84e71e89d0947e51c76e85d0847de848c7782b13c0255247a6758178c@44.232.55.71:30303,enode://88116f4295f5a31538ae409e4d44ad40d22e44ee9342869e7d68bdec55b0f83c1530355ce8b41fbec0928a7d75a5745d528450d30aec92066ab6ba1ee351d710@159.203.9.164:30303"

如果您的Bor节点已经停止同步,您可以添加额外的启动节点到您的start.sh文件:

--bootnodes enode://320553cda00dfc003f499a3ce9598029f364fbb3ed1222fdc20a94d97dcc4d8ba0cd0bfa996579dcc6d17a534741fb0a5da303a90579431259150de66b597251@54.147.31.250:30303,enode://f0f48a8781629f95ff02606081e6e43e4aebd503f3d07fc931fad7dd5ca1ba52bd849a6f6c3be0e375cf13c9ae04d859c4a9ae3546dc8ed4f10aa5dbb47d4998@34.226.134.117:30303

启动节点和服务

  • 使用如下命令运行完整节点:
  • 启动Heimdall:

sudo service heimdalld start

  • 要启动 Heimdall Rest Server,您可以运行以下命令:

sudo service heimdalld-rest-server start

同步 Heimdall 后,运行以下命令:

sudo service bor start

  • 检查日志:

  • 检查 Heimdall 日志:

journalctl -u heimdalld.service -f

  • 检查 Heimdall Rest Server日志

journalctl -u heimdalld-rest-server.service -f

  • 检查 Bor 日志

journalctl -u bor.service -f

  • 检查Heimdall是否同步

  • 在远程机器/虚拟机上执行curl localhost:26657/status命令

  • 在输出中,catching_up的值应该为false

  • 端口/防火墙配置

  • 在节点防火墙上向world(0.0.0.0/0)开放端口22、26656和30303。所有其他端口应关闭。

全节点访问(通过 Alchemy)

1.访问 Alchemy.com 并注册一个免费帐户 2.获取您的私钥和 API 端点 3.使用您的 Alchemy 帐户访问 Polygon 主网

全节点访问(通过 Chainstack)

1.在 Chainstack 上注册一个免费帐户。 2.部署 Polygon 主网节点。 3.获取已部署节点的 HTTPS 端点。

全节点访问(通过 QuickNode)

1.访问 QuickNode 并注册一个免费帐户 2.获取您的免费试用节点 3.使用您的 QuickNode 节点访问 Polygon Mainnet

全部评论(0)