网络配置详情
网络
一、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 同步服务之前,请按照以下步骤使用快照:
- 通过运行以下命令,在您的 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
- 若要解压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