Why i should make a hidden-service for my RPC endpoint ?

Because it gives you a private and secure access to your node.

Step 1: modify torrc to activate the hidden-service

In your terminal, install Tor and modify your configuration using nano

  • sudo apt install tor
  • sudo nano /etc/tor/torrc

Now, in the hidden-service section, remove the hashtags to activate your hidden-service, replace the defaults ports for 18081 (the default port number used for the RPC) and save the file.

  • HiddenServiceDir /var/lib/tor/hidden_service/
  • HiddenServicePort 18081 127.0.0.1:18081
Step 2: restart Tor & get the hidden-service

Restart the service and then open the “hostname” file to get your hidden service.

  • sudo service tor start
  • sudo nano /var/lib/tor/hidden_service/hostname
Step 3: start your monero node & proxify transactions over Tor

Bind the localhost interface with the –rpc-bind-ip arg of monerod and proxify your transactions over Tor with the –tx-proxy arg.

  • ./monerod --rpc-bind-ip 127.0.0.1 --tx-proxy tor,127.0.0.1:9050
Step 4: connect your wallet to your node

Use FeatherWallet, go in the network-settings, in the proxy tab add a Tor SOCKS5 proxy (127.0.0.1:9050), check the only connect to .onions and start a bundled Tor router boxes.

Now in the nodes tab, add (your_hidden_service).onion:18081 as your remote-node and you can now use your node over Tor !