uname -r
yum install docker
systemctl start docker
systemctl enable docker
mkdir -p /data/qk_node
cd /data/qk_node
wget https://static.quarkblockchain.cn/app/pc/qk_poa.json -O qk_poa.json
docker run -it --rm -v /data/qk_node:/root/qk_node chenjia404/qk_node init /root/qk_node/qk_poa.json --datadir /root/qk_node/qk_poa
wget https://static.quarkblockchain.cn/app/pc/static-nodes.json -O /data/qk_node/qk_poa/static-nodes.json
docker run -it --name qk_poa_node -v /data/qk_node:/root/qk_node -p 8545:8545 -p 30303:30303 -p 30303:30303/udp -d chenjia404/qk_node --syncmode snap --snapshot --datadir /root/qk_node/qk_poa --networkid 20181205 --v5disc --txpool.pricelimit 1000000000 --light.serve 20 --light.maxpeers 200 --maxpeers 2000 --http --http.addr 0.0.0.0 --http.vhosts "" --allow-insecure-unlock --http.api "net,web3,eth,personal,clique,txpool" --http.corsdomain "*" console
运行公共rpc节点,需要配置 http.vhosts ,里面配置你的域名,如果有多个域名,使用英文逗号(,)分割,另外不需要--allow-insecure-unlock 参数。
docker run -d --name watchtower-qk-node --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup -i 3600 qk_poa_node
docker stop qk_poa_node
docker rm qk_poa_node
docker attach qk_poa_node
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
server {
listen 80;
listen [::]:80;
server_name rpc.chelizi.org.cn;
root /www/wwwroot/rpc.chelizi.org.cn/;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript application/javascript application/json text/css application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
location ~* \.(ttf|ttc|otf|eot|woff|font.css)$ {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}
location / {
try_files $uri @proxy;
}
location @proxy {
proxy_pass http://127.0.0.1:8545;
#Proxy Settings
proxy_redirect 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
access_log /www/wwwlogs/rpc.chelizi.org.cn.log;
}
server {
listen 443 ssl http2;
server_name rpc.chelizi.org.cn;
root /www/wwwroot/rpc.chelizi.org.cn;
location ~* \.(ttf|ttc|otf|eot|woff|font.css)$ {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}
ssl_certificate /www/server/panel/vhost/cert/rpc.chelizi.org.cn/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/rpc.chelizi.org.cn/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384:P-521;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
resolver 8.8.8.8 valid=300s;
resolver_timeout 10s;
add_header Strict-Transport-Security "max-age=99999999;" always;
location / {
try_files $uri @proxy;
}
location @proxy {
proxy_pass http://127.0.0.1:8545;
#Proxy Settings
proxy_redirect 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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
access_log /www/wwwlogs/https_rpc.chelizi.org.cn.log;
}