Skip to content

Commit 6802f3a

Browse files
Merge branch 'km/miden_migration' of https://github.com/0xPolygon/polygon-docs into km/miden_migration
2 parents 1557772 + de1be69 commit 6802f3a

38 files changed

+4735
-15
lines changed

docs/img/pos/heimdall-tree.png

23.8 KB
Loading

docs/img/pos/heimdall-version.png

42.7 KB
Loading

docs/img/pos/hello-world.png

70.3 KB
Loading

docs/img/pos/space.png

24.3 KB
Loading

docs/img/pos/term-access.png

44.7 KB
Loading

docs/pos/concepts/tokens/pol.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ Yes, the migration contract includes a feature known as "unmigration." This allo
6868

6969
## Bridging mechanisms
7070

71-
### How does the modified Plasma Bridge function?
71+
### How does the modified bridge function?
7272

73-
The Plasma Bridge will undergo modifications, with community approval, to change the native token of Polygon PoS to the new POL token. Specifically, the following changes are being proposed:
73+
The bridge will undergo modifications, with community approval, to change the native token of Polygon PoS to the new POL token. Specifically, the following changes are being proposed:
7474

7575
- Bridging POL to Polygon PoS: if you bridge POL tokens to Polygon PoS, you will receive
7676
an equal amount of native tokens (POL) on Polygon PoS.

docs/pos/how-to/snapshots.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
When setting up a new sentry, validator, or full node server, it is recommended that you use snapshots for faster syncing without having to sync over the network. Using snapshots will save you several days for both Heimdall and Bor.
22

3-
For the latest snapshot, please visit [Polygon Chains Snapshots](https://snapshot.polygon.technology/).
3+
For the latest snapshot, please visit [Polygon Chains Snapshots](https://snapshots.polygon.technology/).
44

55
!!! warning "Bor snapshots no longer supported"
66
We no longer support bor archive snapshots due to unsustainable data growth.

docs/pos/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div class="flex-figure" markdown="1">
22
<div class="flex-figure-left" markdown="1">
33
# Polygon PoS
4-
Polygon PoS is an EVM-compatible, hybrid plasma proof-of-stake sidechain for Ethereum, with high throughput and low costs.
4+
Polygon PoS is an EVM-compatible, proof-of-stake sidechain for Ethereum, with high throughput and low costs.
55
</div>
66
<div class="flex-figure-right">
77
<img src="../img/pos/pos.svg" class="figure figure-right" alt="" />

docs/pos/operate-node/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Guide to operating a full node.
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
2+
An [Ansible playbook](https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html) is used to
3+
configure and manage a full node.
4+
5+
## Prerequisites
6+
7+
- Install Ansible on your local machine with Python3.x. The setup will not work if you have Python2.x.
8+
- To install Ansible with Python 3.x, you can use pip. If you do not have pip on your machine,
9+
follow the steps outlined [here](https://pip.pypa.io/en/stable/). Run `pip3 install ansible` to install
10+
Ansible.
11+
- Check the [Polygon PoS Ansible repository](https://github.com/maticnetwork/node-ansible#requirements) for
12+
requirements.
13+
- You will also need to ensure that Go is **not installed** in your environment. You will run into issues if you attempt to set up your full node through Ansible with Go installed as Ansible requires specific packages of Go to be installed.
14+
- You will also need to make sure that your VM / Machine does not have any previous setups for Polygon Validator or Heimdall or Bor. You will need to delete them as your setup will run into issues.
15+
16+
!!!info
17+
Heimdall source enhancements
18+
19+
The latest Heimdall version, **[v1.0.3](https://github.com/maticnetwork/heimdall/releases/tag/v1.0.3)**, contains a few enhancements.
20+
The delay time between the contract events of different validators **has been increased** to ensure that the mempool doesn't get filled quickly in case of a burst of events that could hamper the chain's progress.
21+
22+
Additionally, the data size **has been restricted in state sync txs to 30Kb (when represented in bytes) and 60Kb (when defined as string)**.
23+
24+
For example:
25+
26+
```bash
27+
Data - "abcd1234"
28+
Length in string format - 8
29+
Hex Byte representation - [171 205 18 52]
30+
Length in byte format - 4
31+
```
32+
33+
34+
## Full node setup
35+
36+
- Ensure you have access to the remote machine or VM on which the full node is being set up.
37+
> Refer to [https://github.com/maticnetwork/node-ansible#setup](https://github.com/maticnetwork/node-ansible#setup) for more details.
38+
- Clone the [https://github.com/maticnetwork/node-ansible](https://github.com/maticnetwork/node-ansible) repository.
39+
- Navigate into the node-ansible folder: `cd node-ansible`
40+
- Edit the `inventory.yml` file and insert your IP(s) in the `sentry->hosts` section.
41+
> Refer to [https://github.com/maticnetwork/node-ansible#inventory](https://github.com/maticnetwork/node-ansible#inventory) for more details.
42+
- Check if the remote machine is reachable by running: `ansible sentry -m ping`
43+
- To test if the correct machine is configured, run the following command:
44+
45+
```bash
46+
# Mainnet:
47+
ansible-playbook playbooks/network.yml --extra-var="bor_version=v1.0.0 heimdall_version=v1.0.3 network=mainnet node_type=sentry" --list-hosts
48+
49+
# Testnet:
50+
ansible-playbook playbooks/network.yml --extra-var="bor_version=v1.1.0 heimdall_version=v1.0.3 network=mumbai node_type=sentry" --list-hosts
51+
```
52+
53+
<img src={useBaseUrl("img/network/full-node-mumbai.png")} />
54+
55+
- Next, set up the full node with this command:
56+
57+
```bash
58+
# Mainnet:
59+
ansible-playbook playbooks/network.yml --extra-var="bor_version=v1.1.0 heimdall_version=v1.0.3 network=mainnet node_type=sentry"
60+
61+
# Testnet:
62+
ansible-playbook playbooks/network.yml --extra-var="bor_version=v1.0.0 heimdall_version=v1.0.3 network=mumbai node_type=sentry"
63+
```
64+
65+
- In case you run into any issues, delete and clean the whole setup using:
66+
```
67+
ansible-playbook playbooks/clean.yml
68+
```
69+
70+
- Once you initiate the Ansible playbook, log in to the remote machine.
71+
72+
- Please **ensure that the value of seeds and bootnodes mentioned below is the same value as mentioned in Heimdall and Bor `config.toml` files**. If not, change the values accordingly.
73+
74+
- Heimdall seed nodes:
75+
76+
```bash
77+
moniker=<enter unique identifier>
78+
79+
# Mainnet:
80+
seeds="1500161dd491b67fb1ac81868952be49e2509c9f@52.78.36.216:26656,dd4a3f1750af5765266231b9d8ac764599921736@3.36.224.80:26656,8ea4f592ad6cc38d7532aff418d1fb97052463af@34.240.245.39:26656,e772e1fb8c3492a9570a377a5eafdb1dc53cd778@54.194.245.5:26656,6726b826df45ac8e9afb4bdb2469c7771bd797f1@52.209.21.164:26656"
81+
82+
# Testnet:
83+
seeds="9df7ae4bf9b996c0e3436ed4cd3050dbc5742a28@43.200.206.40:26656,d9275750bc877b0276c374307f0fd7eae1d71e35@54.216.248.9:26656,1a3258eb2b69b235d4749cf9266a94567d6c0199@52.214.83.78:26656"
84+
```
85+
- Bootnodes:
86+
87+
```bash
88+
# Mainnet:
89+
bootnode ["enode://b8f1cc9c5d4403703fbf377116469667d2b1823c0daf16b7250aa576bacf399e42c3930ccfcb02c5df6879565a2b8931335565f0e8d3f8e72385ecf4a4bf160a@3.36.224.80:30303", "enode://8729e0c825f3d9cad382555f3e46dcff21af323e89025a0e6312df541f4a9e73abfa562d64906f5e59c51fe6f0501b3e61b07979606c56329c020ed739910759@54.194.245.5:30303"]
90+
91+
# Testnet:
92+
bootnodes ["enode://bdcd4786a616a853b8a041f53496d853c68d99d54ff305615cd91c03cd56895e0a7f6e9f35dbf89131044e2114a9a782b792b5661e3aff07faf125a98606a071@43.200.206.40:30303", "enode://209aaf7ed549cf4a5700fd833da25413f80a1248bd3aa7fe2a87203e3f7b236dd729579e5c8df61c97bf508281bae4969d6de76a7393bcbd04a0af70270333b3@54.216.248.9:30303"]
93+
```
94+
95+
- To check if Heimdall is synced
96+
- On the remote machine/VM, run `curl localhost:26657/status`
97+
- In the output, `catching_up` value should be `false`
98+
99+
- Once Heimdall is synced, run
100+
- `sudo service bor start`
101+
102+
You have successfully set up a full node with Ansible.
103+
104+
!!!note
105+
106+
If Bor presents an error of permission to data, run this command to make the Bor user the owner of the Bor files:
107+
108+
```bash
109+
sudo chown bor /var/lib/bor
110+
```
111+
112+
## Logs
113+
114+
Logs can be managed by the `journalctl` linux tool. Here is a tutorial for advanced usage: [How To Use Journalctl to View and Manipulate Systemd Logs](https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs).
115+
116+
**Check Heimdall node logs**
117+
118+
```bash
119+
journalctl -u heimdalld.service -f
120+
```
121+
122+
**Check Bor Rest-server logs**
123+
124+
```bash
125+
journalctl -u bor.service -f
126+
```
127+
128+
## Ports and Firewall Setup
129+
130+
Open ports 22, 26656 and 30303 to world (0.0.0.0/0) on sentry node firewall.
131+
132+
You can use VPN to restrict access for port 22 as per your requirement and security guidelines.

0 commit comments

Comments
 (0)