buzzkillb Posted May 16, 2021 Report Share Posted May 16, 2021 How to setup a Fantom RPC Go-Opera Node on Ubuntu 20.04. You want to lock this down yourself at some point after testing it works. We will need a couple things, mainly go, nginx and go-opera. go-opera: https://github.com/Fantom-foundation/go-opera go: https://golang.org/dl/ nginx Install go, latest is https://golang.org/dl/go1.16.4.linux-amd64.tar.gz wget https://golang.org/dl/go1.16.4.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin source ~/.bashrc cd ~ go version Clone github and make the go-opera binary sudo apt install git git clone https://github.com/Fantom-foundation/go-opera cd go-opera make opera cd build cp opera ~/ cd ~ I am putting opera binary in the main home folder so I can keep track of which version I am on. Find your IP address for initial go-opera syncing. ip a We also need the genesis block in our home folder. wget https://opera.fantom.network/mainnet.g Lets run this and prepare Cloudflare and our Domain next. replace the 111's with your IP address. This is not locked down at all, but I don't have anything on this wallet, so there is nothing to see here. The initial genesis decode will take at least 10 minutes, so wait for this to finish and you will see the sync. Sync as of right now took about 24 hours. I am running this in the background using screen. screen -S go-opera ./opera --genesis ~/mainnet.g --nat extip:111.111.111.111 --nousb --http --http.vhosts="*" --http.corsdomain="*" --ws --ws.origins="*" --http.api="ftm,eth,debug,admin,web3,personal,net,txpool,sfc" Setup cloudflare with TLS/SSL. Make a subdomain with an A record pointing to your IP address. Go to SSL/TLS -> Origin Server -> Create Certificate and either use the default or like I did, specifiy the full subdomain. Here I am showing example.denarius.pro for the example. Click Next. I created a certificate for domain like rpc.denarius.pro and click Next and then copy the info to here Insert Origin Certificate into a cert.pem sudo nano /etc/ssl/certs/cert.pem Insert Private Key into key.pem sudo nano /etc/ssl/private/key.pem Install nginx sudo apt install nginx I am lazy so just use default file to edit sudo nano /etc/nginx//sites-available/default You want something like this for https and web socket in the default file server { listen 80; listen [::]:80; server_name rpc.denarius.pro; return 302 https://$server_name$request_uri; } server { listen 443 ssl; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/ssl/certs/cert.pem; ssl_certificate_key /etc/ssl/private/key.pem; location ^~ /ws { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 86400s; proxy_send_timeout 86400s; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:18546/; } location ^~ / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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; proxy_pass http://127.0.0.1:18545/; } } Restart nginx sudo nginx -s reload Load up metamask and point a new network to your new domain like https://rpc.denarius.pro, chainID 250, Symbol 250 and you are good to go. 1 Quote Link to comment Share on other sites More sharing options...
radium Posted October 13, 2021 Report Share Posted October 13, 2021 nice tutorial, thanks ! i try just to setup a read only node FANTOM to use as a RPC , but without cloudflare, on my dedicated server and i need ws and http Do i just need to delete --nat extip:111.111.111.111 ? ./opera --genesis ~/mainnet.g --nat extip:111.111.111.111 --nousb --http --http.vhosts="*" --http.corsdomain="*" --ws --ws.origins="*" --http.api="ftm,eth,debug,admin,web3,personal,net,txpool,sfc" Quote Link to comment Share on other sites More sharing options...
Ghost Posted October 14, 2021 Report Share Posted October 14, 2021 15 hours ago, radium said: nice tutorial, thanks ! i try just to setup a read only node FANTOM to use as a RPC , but without cloudflare, on my dedicated server and i need ws and http Do i just need to delete --nat extip:111.111.111.111 ? ./opera --genesis ~/mainnet.g --nat extip:111.111.111.111 --nousb --http --http.vhosts="*" --http.corsdomain="*" --ws --ws.origins="*" --http.api="ftm,eth,debug,admin,web3,personal,net,txpool,sfc" Replace it with your IP of the node you are running it on Quote Founder of BlockForums.org - PM me for any help - Join our Discord Server: https://discord.gg/UPpQy3n Link to comment Share on other sites More sharing options...
LtSnakePlissken Posted October 16, 2021 Report Share Posted October 16, 2021 Thanks for the guide! My network went down, and when I went to restart the FTM node, I get the error " Fatal: Failed to make engine: failed to open existing databases: dirty state: gossip-20716: DE0016AE75E86720388516AE75E8D6B79762 " What should I do to fix it? Thanks again! Quote Link to comment Share on other sites More sharing options...
Jintu Posted February 16, 2022 Report Share Posted February 16, 2022 Heya, Could you tell me what sort of hardware you are using for this setup? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.