This project provides a web application for displaying information about cryptocurrency coin daemon nodes using RPC. It visualizes node data on a OpenStreetMap and displays detailed information in a table format. The project is built with Node.js and uses PureCSS for styling.
- Visual representation of coin nodes on a OpenStreetMap.
- Node data will be cached for 60 minutes.
- Detailed table view showing using IPinfo.io:
- IP address and Hostname (if available)
- User agent (Wallet Version)
- Coin block height
- Country and Timezone
- Location (City, States)
- Network details, ASN Number
Before you begin, ensure you have met the following requirements:
- You have installed Node.js 12+ and npm 6+.
- You have a basic understanding of JavaScript and Node.js.
- You have a cryptocurrency daemon node can accessible via RPC.
- You have a IPinfo.io token or something else.
- You have a Reverse Proxy and web server. (Recommend Nginx)
To install Node Map, follow these steps:
- Clone the repository:
git clone https://github.com/ROZ-MOFUMOFU-ME/nodemap.git
- Navigate to the project directory:
cd nodemap
- Install the necessary packages:
npm install
- Add RPC Client Settings and IPinfo token and Google Maps API Key to the
.env
file:# RPC server settings DAEMON_RPC_HOST=127.0.0.1 DAEMON_RPC_PORT=8333 DAEMON_RPC_USERNAME=your_username DAEMON_RPC_PASSWORD=your_password DAEMON_RPC_SSL=false DAEMON_RPC_TIMEOUT=30000 # IPinfo.io token IPINFO_TOKEN=your_ipinfo_token # Node Map server port PORT=3000
To use Node Map, run the following command from the root of the project:
node app.js
or
npm start
or
pm2 start app.js --name nodemap
Open your web browser and navigate to http://localhost:3000
to view nodemap.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name nodemap.exaple.com;
root /path/to/nodemap/public;
# SSL
ssl_certificate /etc/letsencrypt/live/exaple.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exaple.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/exaple.com/chain.pem;
# logging
access_log /var/log/nginx/access.log combined buffer=512k flush=1m;
error_log /var/log/nginx/error.log warn;
# reverse proxy
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
# Proxy SSL
proxy_ssl_server_name on;
# Proxy headers
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Forwarded $proxy_add_forwarded;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
# Proxy timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
nginxconfig.io This site is useful to setup Nginx!
sudo systemctl start nginx
sudo systemctl enable nginx
Accessing example.com will show nodemap.
To contribute to Node Map, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin <project_name>/<location>
- Create the pull request.
Alternatively, see the GitHub documentation on creating a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
ROZ: @ROZ_mofumofu_me
Aoi Emerauda: @Aoi_Emerauda Alternative
Project Link: https://github.com/ROZ-MOFUMOFU-ME/nodemap
-
ROZ - Author
-
Aoi Emerauda - Alternative
Donations for development are greatly appreciated!
BTC: 3C8oCWjVs2sycQcK3ttiPRSKV4AKBhC7xT
ETH: 0xc664a0416c23b1b13a18e86cb5fdd1007be375ae
LTC: Lh96WZ7Rw9Wf4GDX2KXpzieneZFV5Xe5ou
BCH: pzdsppue8uwc20x35psaqq8sgchkenr49c0qxzazxu
ETC: 0xc664a0416c23b1b13a18e86cb5fdd1007be375ae
MONA: MLEqE3vi11j4ZguMjkvMn5rUtze6kXbAzQ