Parity Ethereum Client

From UVOO Tech Wiki
Jump to navigation Jump to search

Provo Office Ethereum Parity Client HTTP

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://10.64.41.3:8545

Service File

[Unit]
Description=Parity Ethereum client
Documentation=https://wiki.parity.io
After=network.target

[Service]
Type=simple
# ExecStart=/usr/bin/parity
ExecStart=/usr/bin/parity --port=31303 --nat=extip:xxx.xxx.xxx.xxx
Restart=on-failure
# SIGHUP gives parity time to exit cleanly before SIGKILL
KillSignal=SIGHUP

[Install]
WantedBy=multi-user.target
Alias=parity.service

Very Simple Protective NGINX Reverse Proxy

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }

    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    server_name _;
    root /var/www/html;

    location / {
        if ( $request_method !~ ^(POST|OPTIONS)$ ) {
          return 405;
        }
        if ($cookie_token != "foobar") {
          return 401;
        }
        client_max_body_size 10m;
        proxy_pass http://localhost:8545;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
    }
}

Simple curl request

curl -k --cookie "Token=jtest" --cookie 'token=foobar' -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' https://10.64.4.229:11002