# 搭建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
: --bootnode /ip4//tcp/1478/p2p/ --block-gas-limit 1000000000 --premine=
:1000000000000000000 --chain-id --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 ```