5.3 KiB
5.3 KiB
搭建polygon edge pos指南
0下载polygon edge pos
https://github.com/0xPolygon/polygon-edge/releases
选择对应的包然后下载解压
wget https://github.com/0xPolygon/polygon-edge/releases/download/v1.3.2/polygon-edge_1.3.2_linux_amd64.tar.gz
tar -xvzf polygon-edge_1.3.2_linux_amd64.tar.gz
1创建data
./polygon-edge secrets init --data-dir data-dir --insecure
[WARNING: INSECURE LOCAL SECRETS - SHOULD NOT BE RUN IN PRODUCTION]
[SECRETS INIT]
Public key (address) = 0x1F1A35Eadf5a7a6ADd815Cae6e96FbC3aB815063
BLS Public key = 0x8ca47cf17f0d63daa4fb71fb74d4a981e5c4fb06e770d7b2e00ec36886c73ff8251d2ad9bacdda88c2e41fbd034d531e
Node ID = 16Uiu2HAm21iden9f68M4Lmin8KfYHQJSRWKJmN4yLJ9xH86h9Ca9
root@ca06-a13:/opt/polygon-edge# tree
.
├── config.yml
├── data-dir
│ ├── consensus
│ │ ├── validator-bls.key
│ │ └── validator.key
│ └── libp2p
│ └── libp2p.key
├── genesis.json
├── LICENSE
├── polygon-edge
└── README.md
4 directories, 8 files
root@ca06-a13:/opt/polygon-edge#
2 准备引导节点的多地址连接字符串
/ip4//tcp/1478/p2p/
1478实际上是libp2p的端口
3配置genesis文件
使用命令生成基本的配置文件。主要是他会添加质押合约的内容。在这基础上面更改
./polygon-edge genesis --consensus ibft --pos --validators <address>:<BLS Public key> --bootnode /ip4/<host ip>/tcp/1478/p2p/<Node id> --block-gas-limit 1000000000 --premine=<address>:1000000000000000000 --chain-id <your chain id> --name <your chain name>
4 配置config文件
我这里给我的config.yml文件
chain_config: ./genesis.json
data_dir: ./data-dir
block_gas_target: "0x0"
grpc_addr: 0.0.0.0:9632
jsonrpc_addr: 0.0.0.0:10001 //工作在10001端口上面 默认是8545
telemetry:
prometheus_addr: ""
network:
no_discover: false
libp2p_addr: 0.0.0.0:1478
nat_addr: 143.92.34.138
dns_addr: ""
max_peers: -1
max_outbound_peers: -1
max_inbound_peers: -1
seal: true
tx_pool:
price_limit: 0
max_slots: 4096
max_account_enqueued: 128
log_level: INFO
restore_file: ""
headers:
access_control_allow_origins:
- '*'
log_to: ""
json_rpc_batch_request_limit: 20
json_rpc_block_range_limit: 1000
json_log_format: false
cors_allowed_origins: []
relayer: false
num_block_confirmations: 64
concurrent_requests_debug: 32
web_socket_read_limit: 8192
metrics_interval: 8s
5 启动节点
我们现在目录底下是这样的
root@ca06-a13:/opt/polygon-edge# tree
.
├── config.yml
├── data-dir
│ ├── blockchain
│ │ ├── 000001.log
│ │ ├── CURRENT
│ │ ├── LOCK
│ │ ├── LOG
│ │ └── MANIFEST-000000
│ ├── consensus
│ │ ├── validator-bls.key
│ │ └── validator.key
│ ├── libp2p
│ │ └── libp2p.key
│ └── trie
│ ├── 000001.log
│ ├── CURRENT
│ ├── LOCK
│ ├── LOG
│ └── MANIFEST-000000
├── genesis.json
├── LICENSE
├── polygon-edge
└── README.md
因为节点需要后台运行
所以我们借助tmux这个工具来保持会话
tmux
sudo ./polygon-edge server --config config.yml
6测试是否启动成功
root@ca06-a13:/opt/polygon-edge# curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://143.92.34.138:10001
//你会看到
{"jsonrpc":"2.0","id":1,"result":"0x10"}
Note:
node的ws和http工作在同一个端口上面。使用ws://localhost:8545/ws 来访问。
可以参考命令 wscat -c ws://localhost:8545/ws
搭建浏览器
因为浏览器消耗不小,所以简易使用两台服务器进行
简单tmux指令
基本用法
启动tmux
tmux
创建新会话
tmux new -s session_name
分离和重新连接会话
-
分离当前会话/关闭tmux回到原始会话但是不关闭会话:
Ctrl + b,然后按 d
-
重新连接到一个会话:
tmux attach -t session_name
管理窗口和窗格
-
创建新窗口:
Ctrl + b,然后按 c
-
在窗口之间切换:
Ctrl + b,然后按 n(下一个窗口)或 p(上一个窗口)
-
分割窗格(垂直分割):
Ctrl + b,然后按 %
-
分割窗格(水平分割):
Ctrl + b,然后按 "
-
在窗格之间切换:
Ctrl + b,然后按方向键
-
查看所有窗口
Ctrl + b,然后按 w
会话管理
-
列出所有会话:
tmux ls
-
杀死会话:
tmux kill-session -t session_name
配置文件示例
下面是一个简单的~/.tmux.conf
配置文件示例:
bash复制代码# 设置前缀键为Ctrl-a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 启动时分割窗格
split-window -v
# 窗口命名
new-session -s my_session -n my_window