Table of contents

  1. Publish a node
    1. Duniter part
    2. Reverse-proxy part (with Nginx)
  2. Join the Smith WoT
  3. Validate blocks (blacksmith work)
  4. Upgrade your node with minimal interruption

This page was automatically added from https://git.duniter.org/nodes/rust/duniter-v2s/-/raw/master/docs/user/smith.md. Please check here if something does not render well.

How to become a (black)smith

Publish a node

Duniter part

Reverse-proxy part (with Nginx)

In /etc/nginx/sites-enabled/gdev.YOUR_DOMAIN put (you can probably do simpler):

server {
  server_name gdev.YOUR_DOMAIN.fr;

  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  ssl_certificate /etc/nginx/ssl/YOUR_DOMAIN.cert;
  ssl_certificate_key /etc/nginx/ssl/YOUR_DOMAIN.key;

  root /nowhere;

  add_header X-Frame-Options SAMEORIGIN;
  add_header X-XSS-Protection "1; mode=block";
  proxy_redirect off;
  proxy_buffering off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-Port $server_port;
  proxy_read_timeout 90;

  location /http {
    proxy_pass http://localhost:9933;
    proxy_http_version 1.1;
  }
  location /ws {
    proxy_pass http://localhost:9944;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;

    proxy_read_timeout 1200s;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
  }
}

and replace YOUR_DOMAIN by your domain each time.

Your node is now online as a rpc node. It's fully capable for wallet use.

Join the Smith WoT

When you have at least 3 certifications, your'in!

Validate blocks (blacksmith work)

If you're not able to monitor, reboot, act on your node, goOffline() to avoid penality to the blockchain and to you.

Upgrade your node with minimal interruption

  1. Modify docker image tag on your compose file
  2. Run docker compose pull, this will pull the new image.
  3. Run docker compose up -d --remove-orphans, this will recreate the container
  4. Verify that your node restarted well docker compose logs duniter-validator
  5. Remove the old image docker images rmi duniter/duniter-v2s:OLD_TAG