├── Devnet-2.2.md ├── Devnet-2.3.md ├── Devnet-2.4.md ├── Devnet-2.5.md ├── Devnet-2.8.md ├── update-devnet-to-testnet.md ├── Devnet-2.md └── README.md /Devnet-2.2.md: -------------------------------------------------------------------------------- 1 | ## Update your PoP Node to 0.2.2 Version 2 | 3 | ```bash 4 | sudo systemctl stop pipe && cd $HOME/pipe && wget -O pop "https://dl.pipecdn.app/v0.2.2/pop" && chmod +x pop && sudo systemctl daemon-reload && sudo systemctl restart pipe && journalctl -u pipe -f 5 | ``` 6 | 7 | ## Check your Node status: 8 | https://dashboard.pipenetwork.com/ 9 | -------------------------------------------------------------------------------- /Devnet-2.3.md: -------------------------------------------------------------------------------- 1 | ## Update your PoP Node to 0.2.2 Version 2 | 3 | ```bash 4 | sudo systemctl stop pipe && cd $HOME/pipe && wget -O pop "https://dl.pipecdn.app/v0.2.3/pop" && chmod +x pop && sudo systemctl daemon-reload && sudo systemctl restart pipe && journalctl -u pipe -f 5 | ``` 6 | 7 | ## Check your Node status: 8 | https://dashboard.pipenetwork.com/ 9 | -------------------------------------------------------------------------------- /Devnet-2.4.md: -------------------------------------------------------------------------------- 1 | ## Update your PoP Node to 0.2.4 Version 2 | 3 | ```bash 4 | sudo systemctl stop pipe && cd $HOME/pipe && wget -O pop "https://dl.pipecdn.app/v0.2.4/pop" && chmod +x pop && sudo systemctl daemon-reload && sudo systemctl restart pipe && journalctl -u pipe -f 5 | ``` 6 | 7 | ## Check your Node status: 8 | https://dashboard.pipenetwork.com/ 9 | -------------------------------------------------------------------------------- /Devnet-2.5.md: -------------------------------------------------------------------------------- 1 | ## Update your PoP Node to 0.2.4 Version 2 | 3 | ```bash 4 | sudo systemctl stop pipe && cd $HOME/pipe && wget -O pop "https://dl.pipecdn.app/v0.2.5/pop" && chmod +x pop && sudo systemctl daemon-reload && sudo systemctl restart pipe && journalctl -u pipe -f 5 | ``` 6 | 7 | ## Check your Node status: 8 | https://dashboard.pipenetwork.com/ 9 | -------------------------------------------------------------------------------- /Devnet-2.8.md: -------------------------------------------------------------------------------- 1 | ## Update your PoP Node to 0.2.8 Version 2 | 3 | ```bash 4 | sudo systemctl stop pipe && cd $HOME/pipe && wget -O pop "https://dl.pipecdn.app/v0.2.8/pop" && chmod +x pop && sudo systemctl daemon-reload && sudo systemctl restart pipe && journalctl -u pipe -f 5 | ``` 6 | 7 | ## Check your Node status: 8 | https://dashboard.pipenetwork.com/ 9 | -------------------------------------------------------------------------------- /update-devnet-to-testnet.md: -------------------------------------------------------------------------------- 1 | In preparation for the upcoming TestNet launch, we’ve reset the DevNet backend today to enhance system performance and stability. To ensure your node continues to operate smoothly, please follow these steps: 2 | 3 | **1.Relogin** 4 | ``` 5 | /opt/dcdn/pipe-tool login --node-registry-url="https://rpc.pipedev.network" 6 | ``` 7 | 8 | **2.Generate a new registration token** 9 | ``` 10 | /opt/dcdn/pipe-tool generate-registration-token --node-registry-url="https://rpc.pipedev.network" 11 | ``` 12 | 13 | **3.Restart the dcdn service** 14 | ``` 15 | systemctl restart dcdnd 16 | ``` 17 | 18 | **4.Confirm your node is registered** 19 | ``` 20 | /opt/dcdn/pipe-tool list-nodes --node-registry-url="https://rpc.pipedev.network" 21 | ``` 22 | -------------------------------------------------------------------------------- /Devnet-2.md: -------------------------------------------------------------------------------- 1 | # Pipe Network Devnet-2 Node Setup Guide 2 | Pipe Network DevNet 2 will serve as a proving ground for the testnet. After 40 days of stability, it will transition to the testnet 3 | 4 | By running a Node, Users will earn Reputation and Scores during this phase to prove their contributions to the network. 5 | * You must be whitelisted and receive email with instructions to qualify for node's rewards. 6 | * If you are a new user, Signup [here](https://docs.google.com/forms/d/e/1FAIpQLScbxN1qlstpbyU55K5I1UPufzfwshcv7uRJG6aLZQDk52ma0w/viewform) and wait until you receive an email. 7 | 8 | ## System Requirements 9 | * Linux 10 | * Minimum 4GB RAM (configurable), more the better for higher rewards 11 | * At least 100GB free disk space (configurable). 200-500GB is a sweet spot 12 | * Internet connectivity available 24/7 13 | 14 | # 15 | 16 | ## Stop Old Node 17 | if you have running a node previously, you need to do these steps first. 18 | 19 | ### 1. Backup `.permissionless` 20 | `.permissionless` is created in your `root` directory containing your node keys. we need it to install new node 21 | 22 | ### 2. Stop old node 23 | ```bash 24 | sudo systemctl stop dcdnd.service 25 | sudo systemctl disable dcdnd.service 26 | sudo rm /etc/systemd/system/dcdnd.service 27 | sudo systemctl daemon-reload 28 | ``` 29 | 30 | # 31 | 32 | ## Node Setup 33 | ### 1. Create directories 34 | ``` 35 | mkdir -p /root/pipe 36 | mkdir -p /root/pipe/download_cache/ 37 | ``` 38 | ``` 39 | cd /root/pipe 40 | ``` 41 | ### 2. Download Pipe binaries 42 | ``` 43 | wget -O pop "https://dl.pipecdn.app/v0.2.4/pop" 44 | ``` 45 | 46 | ### 3. Make pop executable 47 | ``` 48 | chmod +x pop 49 | ``` 50 | 51 | ### 4. Create systemd file 52 | We create a systemd file to run the node by entering the following command. 53 | * `--ram 4`: Replace `4` with your favorite Ram you want to allocate. (e.g., `4` for 8GB). 54 | * `--max-disk 200`: Replace `200` with the hard disk you want to allocate. (e.g., `200` for 200GB). 55 | * `--pubKey SOLADDRESS`: Replace `SOLADDRESS` with your Solana Public Address. (You can use your old node generated Sol address) 56 | * Refer to [System Requirements](https://github.com/0xmoei/Pipe-Network/blob/main/Devnet-2.md#system-requirements) step for choosing better specifications 57 | ``` 58 | sudo tee /etc/systemd/system/pipe.service > /dev/null << EOF 59 | [Unit] 60 | Description=Pipe Node Service 61 | After=network.target 62 | Wants=network-online.target 63 | 64 | [Service] 65 | User=root 66 | Group=root 67 | WorkingDirectory=/root/pipe 68 | ExecStart=/root/pipe/pop \ 69 | --ram 4 \ 70 | --max-disk 200 \ 71 | --cache-dir /root/pipe/download_cache \ 72 | --pubKey SOLADDRESS \ 73 | --signup-by-referral-route 24e2c57a307e69ba 74 | Restart=always 75 | RestartSec=5 76 | LimitNOFILE=65536 77 | LimitNPROC=4096 78 | StandardOutput=journal 79 | StandardError=journal 80 | SyslogIdentifier=dcdn-node 81 | 82 | [Install] 83 | WantedBy=multi-user.target 84 | EOF 85 | ``` 86 | 87 | ### 5. Start systemd 88 | ``` 89 | sudo systemctl daemon-reload 90 | sudo systemctl enable pipe 91 | sudo systemctl start pipe 92 | ``` 93 | 94 | ### 6. Check health 95 | **1. Check status** 96 | ``` 97 | sudo systemctl status pipe 98 | ``` 99 | **2. Check logs** 100 | ``` 101 | journalctl -u pipe -f 102 | ``` 103 | No problem if you get the following error in the picture, it will be fine after a few hours 104 | 105 | ![image](https://github.com/user-attachments/assets/699c3095-2833-4ee7-bdfb-a7c4134cc05e) 106 | 107 | Final logs for a healthy node should be like the picture below: 108 | 109 | ![image](https://github.com/user-attachments/assets/ad117b92-4755-4bb1-a957-c3c0d7313cd3) 110 | 111 | 112 | ### 7. Check Node's Reputation and Scores 113 | ``` 114 | cd $HOME && cd pipe 115 | ./pop --status 116 | ``` 117 | You'll get following details representing your node's reputation 118 | * Uptime Score (40%): Based on node's uptime over past 7 days 119 | * Egress Score (30%): Based on data served in past 24h 120 | * Historical Score (30%): Based on consistent reporting 121 | 122 | ### 8. Backup Files 123 | Recommened to backup `node_info.json` in `/root/pipe`. It is linked to the IP address that registered the PoP node. It is no recoverable if lost. 124 | * `node_info.json`: Node configuration 125 | * `download_cache`: Cached content 126 | * You will not be able to create a new node and new `node_info.json` with the same IP 127 | 128 | ### 9. Generate Referral Code 129 | You can share your referral to other people to signup with it when running the PoP Node and earn bonus points. 130 | ``` 131 | cd $HOME && cd pipe 132 | ./pop --gen-referral-route 133 | ``` 134 | 135 | ### Optional: Restart or Stop Node 136 | ```console 137 | # Stop 138 | sudo systemctl stop pipe 139 | 140 | # Restart 141 | sudo systemctl daemon-reload 142 | sudo systemctl enable pipe 143 | sudo systemctl restart pipe 144 | ``` 145 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pipe-Network 2 | 3 | * You must have signed up for the Pipe Network Node Operator Waitlist [Form](https://docs.google.com/forms/d/e/1FAIpQLScbxN1qlstpbyU55K5I1UPufzfwshcv7uRJG6aLZQDk52ma0w/viewform) to be able to run incentivized PoP Node. If not, Fill in the [Form](https://docs.google.com/forms/d/e/1FAIpQLScbxN1qlstpbyU55K5I1UPufzfwshcv7uRJG6aLZQDk52ma0w/viewform) and wait for Email 4 | 5 | * Check your email or search `pipe`. If you've received such Email, you can start running the Node 6 | 7 | ![image](https://github.com/user-attachments/assets/48076d9d-cafc-4a2e-9fab-3e36f8329135) 8 | 9 | * You must open the latest Email since they made several updates recently. For now the latest version is `v0.1.3` 10 | 11 | ![image](https://github.com/user-attachments/assets/28277c32-ccad-4aea-9d37-02ce6b42f826) 12 | 13 | # Incentivized PoP Node Step by Step Guide 14 | 15 | ## Official Links 16 | | [X](https://x.com/pipenetwork) | [Discord](https://discord.gg/NYQ4K6Nkkm) | 17 | | :-------- | :------- | 18 | 19 | ## System Requirements 20 | | Ram | cpu | disk | 21 | | :-------- | :------- | :-------------------------------- | 22 | | `2 GB` | `2 Core` | `60 GB SSD` | 23 | 24 | ## Install Dependecies 25 | ```console 26 | sudo apt update && sudo apt upgrade -y 27 | sudo apt install curl iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang aria2 bsdmainutils ncdu unzip libleveldb-dev -y 28 | ``` 29 | 30 | ## Install PoP Node 31 | ### 1.Create directory 32 | ```console 33 | sudo mkdir -p /opt/dcdn 34 | ``` 35 | 36 | ### 2.Set Variables 37 | Replace your files urls sent to your email between `""` 38 | ```console 39 | export DCDND_URL="" 40 | export PIPE_URL="" 41 | ``` 42 | ![Screenshot_470](https://github.com/user-attachments/assets/53bc9943-a915-4d71-b0d2-63bfe743d22c) 43 | 44 | ### 3.Download Binaries 45 | ```console 46 | sudo curl -L "$PIPE_URL" -o /opt/dcdn/pipe-tool 47 | ``` 48 | ``` 49 | sudo curl -L "$DCDND_URL" -o /opt/dcdn/dcdnd 50 | ``` 51 | 52 | ### 4.Give permission to binary files 53 | ```console 54 | sudo chmod +x /opt/dcdn/pipe-tool 55 | sudo chmod +x /opt/dcdn/dcdnd 56 | ``` 57 | 58 | ### 5.Create systemd file 59 | Enter the whole command in the terminal 60 | ``` 61 | # Create service file using tee 62 | sudo tee /etc/systemd/system/dcdnd.service << 'EOF' 63 | [Unit] 64 | Description=DCDN Node Service 65 | After=network.target 66 | Wants=network-online.target 67 | 68 | [Service] 69 | # Path to the executable and its arguments 70 | ExecStart=/opt/dcdn/dcdnd \ 71 | --grpc-server-url=0.0.0.0:8002 \ 72 | --http-server-url=0.0.0.0:8003 \ 73 | --node-registry-url="https://rpc.pipedev.network" \ 74 | --cache-max-capacity-mb=1024 \ 75 | --credentials-dir=/root/.permissionless \ 76 | --allow-origin=* 77 | 78 | # Restart policy 79 | Restart=always 80 | RestartSec=5 81 | 82 | # Resource and file descriptor limits 83 | LimitNOFILE=65536 84 | LimitNPROC=4096 85 | 86 | # Logging 87 | StandardOutput=journal 88 | StandardError=journal 89 | SyslogIdentifier=dcdn-node 90 | 91 | 92 | # Working directory 93 | WorkingDirectory=/opt/dcdn 94 | 95 | [Install] 96 | WantedBy=multi-user.target 97 | EOF 98 | ``` 99 | 100 | ### 6.Open Ports 101 | ```console 102 | sudo ufw allow 8002/tcp 103 | sudo ufw allow 8003/tcp 104 | ``` 105 | 106 | ### 7.Log In to Generate Access Token 107 | ```console 108 | /opt/dcdn/pipe-tool login --node-registry-url="https://rpc.pipedev.network" 109 | ``` 110 | ![Screenshot_465](https://github.com/user-attachments/assets/a051227b-bf52-4210-a166-b3b733c2e5be) 111 | 112 | * Scan the QR code or use the browser window that opens automatically. 113 | * Create an account or sign in with your Google credentials. 114 | * Return to the terminal. Upon successful login, you will see the message: “Logged in successfully!” 115 | 116 | ![Screenshot_466](https://github.com/user-attachments/assets/f024b8ff-edc7-446f-a695-0855a5b4dc5b) 117 | 118 | ### 8.Generate Registration Token 119 | ```console 120 | /opt/dcdn/pipe-tool generate-registration-token --node-registry-url="https://rpc.pipedev.network" 121 | ``` 122 | ![Screenshot_468](https://github.com/user-attachments/assets/dbb4bbc2-a417-4fc5-8062-954445f261db) 123 | 124 | ### 9.Start Node 125 | ```console 126 | sudo systemctl daemon-reload 127 | sudo systemctl enable dcdnd 128 | sudo systemctl start dcdnd 129 | ``` 130 | 131 | ## Check Node health 132 | ```console 133 | /opt/dcdn/pipe-tool list-nodes --node-registry-url="https://rpc.pipedev.network/" 134 | ``` 135 | ![Screenshot_469](https://github.com/user-attachments/assets/fa416027-b075-4aea-a815-8ee98e3bca8c) 136 | 137 | ## Generate Wallet 138 | Important: Save your Recovery Phrase 139 | ```console 140 | /opt/dcdn/pipe-tool generate-wallet --node-registry-url="https://rpc.pipedev.network" 141 | ``` 142 | ## Link Wallet 143 | ```console 144 | /opt/dcdn/pipe-tool link-wallet --node-registry-url="https://rpc.pipedev.network" 145 | ``` 146 | 147 | # 148 | 149 | * Save your `~/.permissionless` directory which contains your keys 150 | * We will need to update our node with each release, I will announce it in twitter or update this repo 151 | 152 | # 153 | 154 | ## Optional: Delete Node 155 | ``` 156 | sudo systemctl stop dcdnd.service 157 | ``` 158 | ``` 159 | sudo systemctl disable dcdnd.service 160 | ``` 161 | ``` 162 | sudo rm /etc/systemd/system/dcdnd.service 163 | ``` 164 | ``` 165 | sudo systemctl daemon-reload 166 | ``` 167 | ``` 168 | rm -r /opt/dcdn 169 | ``` 170 | --------------------------------------------------------------------------------