From 86d9bd74ec2af7e97f9c806779fb7e9f37667945 Mon Sep 17 00:00:00 2001 From: ethanShang <1359937977@qq.com> Date: Mon, 12 Aug 2024 11:36:19 +0800 Subject: [PATCH] Initial --- 刘晅赫交接文档.md | 49 +++++++ 微信截图_20240812112520.png | Bin 0 -> 43819 bytes 搭建polygon edge pos指南.md | 266 ++++++++++++++++++++++++++++++++++++ 陆克宙工作交接文档.docx | Bin 0 -> 14101 bytes 4 files changed, 315 insertions(+) create mode 100644 刘晅赫交接文档.md create mode 100644 微信截图_20240812112520.png create mode 100644 搭建polygon edge pos指南.md create mode 100644 陆克宙工作交接文档.docx diff --git a/刘晅赫交接文档.md b/刘晅赫交接文档.md new file mode 100644 index 0000000..5305d99 --- /dev/null +++ b/刘晅赫交接文档.md @@ -0,0 +1,49 @@ +# Polygon edge node + +服务器: 47.76.156.125 + +部署文档:搭建polygon edge pos指南 + +目前部署的为单节点 + + + +# Blockscout Block Explorer + +服务器: 47.76.156.125 + +仓库地址:https://git.rootsat.co/ROOS-WEB/blockscout + +主要修改是这几个文件。 + +![微信截图_20240812112520](D:\yotta_project\handover_doc\微信截图_20240812112520.png) + +需要定时清理容器([原因](https://github.com/blockscout/blockscout/issues/10409)) + +启动流程也在这个issue里面了 + +# Faucet + +仓库地址:https://git.rootsat.co/ROOS-WEB/yotta-faucet + +服务器: 47.76.156.125 + + 里面包括前端。 + +# red-devils-contract + +仓库地址:https://git.rootsat.co/ROOS-WEB/hongmo-contract + + + +# alive-contract + +仓库地址:https://git.rootsat.co/ROOS-WEB/alive-contract + +# yata-contract + +仓库地址:https://git.rootsat.co/ROOS-CHAIN/Contract.git + + + +其他项目可以看https://docs.qq.com/doc/DSlRaZ3dDWFFWR1Nu。 diff --git a/微信截图_20240812112520.png b/微信截图_20240812112520.png new file mode 100644 index 0000000000000000000000000000000000000000..a5833baccd12d5dc3bcd80d2547bbd01406b4eb0 GIT binary patch literal 43819 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≥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 Rtt+3=AGucs4{!g%{vSwpX2Ade literal 0 HcmV?d00001 diff --git a/搭建polygon edge pos指南.md b/搭建polygon edge pos指南.md new file mode 100644 index 0000000..67a84df --- /dev/null +++ b/搭建polygon edge pos指南.md @@ -0,0 +1,266 @@ +# 搭建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 +``` + + + + + diff --git a/陆克宙工作交接文档.docx b/陆克宙工作交接文档.docx new file mode 100644 index 0000000000000000000000000000000000000000..6f86d53baafe76bfc2b787632d2473b73b096b99 GIT binary patch literal 14101 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