This SDK is designed to work with NodeWallet and provide easy, programmatic, statically-typed access to the user's account(s) and Pocket's RPC.
This is a work in progress and subject to change.
Authenticates the user and provides a token valid for 24 hours which can be used to make calls to the provider API.
https://api.cc.nodepilot.tech/v1/providers/{{PROVIDER_ID}}/unlock
POST
We have the first version of our internal relay stats manager live. There were a number of questions about how we collect and record this data, so I wanted to take a moment to give a little insight.
Our haproxy stack consists of three haproxy containers:
TCP Server
/ \
HTTP Server 0 HTTP Server 1
TCP Server
- Despite the name, this server runs in HTTP mode. Its only job is to route traffic to the available HTTP Server 0 or 1.
Provider Story:
- Provider contacts us and gives us
- email address
- pokt address
- for each gateway
- public IP address of gateway server
- each supported chain ID and accompanying local endpoint e.g. http://10.10.0.1:9500.
- SSH login (w/ sudo privileges) via port 39889
- Direct public ports from 39880-39888 to the gateway server
- We create a provider account for them which includes
- Ethereum 2.0 support
- Pocket BETA-0.9.x support
- Ethereum Goerli testnet support
- Pocket nodes are now served via Node Launcher which allows for one-click updating like other Node Pilot supported chains
- All Node Pilot functionality is exposed via a JSON-RPC server at port 34417 (temporary documentation can be found here: https://gist.github.com/rBurgett/22605a4880e6f6e1cda15e426d02b299)
- All key passwords are now encrypted
- Nodes now automatically restart if they unexpectedly shut down
- You can shut down Node Pilot while leaving your nodes running
The Node Pilot JSON-RPC server provides API access to every single Node Pilot operation, from initial registration to creating, staking, and updating nodes.
The RPC server is available both via HTTP and via the command line using the Node Pilot CLI.
The server can be accessed via port 34417
on the host machine at path /v1
e.g. http://localhost:34417/v1
. It follows the JSON-RPC 2.0 Specification. All requests must be POST
requests sent with a Content-Type
of application/json
. The payload must be in the following form:
#!/bin/bash | |
set -e | |
EMAIL="[email protected]" | |
PASSWORD="mypassword" | |
DOMAIN="mysubdomain.mydomain.com" | |
echo "-> Start Node Pilot" |
Ubuntu makes it very easy to record scripts into files that can be run anywhere from the command line, allowing you to script out common tasks and easily run them without always having to copy/paste or remember long, very technical commands.
Ubuntu will automatically look to see if there is a ~/.local/bin
folder and will allow any script file in there to be run as a command.
For example, you might enter sudo mount /dev/nvme0n1p1 /media/8tb
to mount an external drive. You can easily script that to run as a command.
First, check inside the .local
folder:
ls ~/.local
- Install git.
- Install Node.js v14.
- Change npm's default global directory in order to avoid having to run global installs with
sudo
. - Install Docker.
- Clone the repo:
git clone https://github.com/blocknetdx/xlite.git
- Open the directory:
cd xlite
- Checkout the appropriate branch e.g.
git checkout dev
. - Install dependencies:
npm install
- Run build script:
npm run build
- Set
GH_TOKEN
environment variable to a GitHub Token with appropriate permissions for creating releases and pushing release builds.