Trying to setup firod with tor

Hi

I am currently running a firod node on my computer with a systemd unit. My firo.conf has following flags :

conf=/etc/firo/firod.conf

datadir=/var/lib/firo/

prune=0

listen=1
listenonion=1

proxy=127.0.0.1:9050

torcontrol=127.0.0.1:9051

rpcbind=127.0.0.1

rpcport=8888

Also, I have tor running on the computer. I added a hidden service for firod :

HiddenServiceDir /var/lib/tor/firo-rpc
HiddenServicePort 8888 127.0.0.1:8888

Now, I cannot connect to the node with campfire for some reason. Neither on android nor desktop.

I just get server unreachable whenever I test the connection.

The firod.service unit outputs no error whatsoever : Started firod.service - Firo Daemon.

And tor outputs this :

Closed 1 streams for service [scrubbed].onion for reason resolve failed. Fetch status: No more HSDir available to query.
But I don’t know if it has something to do with it.

Could someone please help me setup firod so that I can connect my campfire wallet to it ?

Any help would be greatly appreciated.

Thank you.

1 Like

I actually tried this too and it works, cool to see someone else doing the same. Campfire I believe requires you to use an Electrum server, which is fully compatible will Firo. I’m not sure how familiar you are with docker, there are other ways, but you seem to be very close to what you’re trying to do. You actually don’t need the proxy itself setup in firod either.

You would have to run Electrum with Firo and expose port 50001 via tor like you are doing, no ssl cert required for Tor. I made this repo related to Electrum and Firo, if you have any question at all let me know because your setup may need some small changes, to what I put here for non-tor related use. GitHub - NexusOcean/electrumx-firo: Docker for Firo with ElectrumX · GitHub

Glad to help where possible.

So I can’t use the firod rpc directly ?

How do you install this electrum thing ? (without container)

Do you mean the electrum wallet here : Download | Firo - Privacy-preserving cryptocurrency ?

You cannot use firod directly with Campfire. You need something in between, in this case an Electrumx server.

I wrote a guide and sought feedback some time ago, but there have been few takers.

Please note that the current Electrumx’s `master` branch updated something new and will not work with Campfire version 2.4.4 unless there is a new release of Campfire. Use branch `master-20260520` in the meantime.

Thank you for the guide !

When I run ‘python3 setup.py install’ I get a bunch of warnings and error :

!!

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 
    Please consider removing the following classifiers in favor of a SPDX license expression: 

    License :: OSI Approved :: BSD License 

    See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 
    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 

!!
self._finalize_license_expression()
warning: no files found matching ‘plyvel/*.pxi’
/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 
    Please avoid running \`\`setup.py\`\` directly. 
    Instead, use pypa/build, pypa/installer or other 
    standards-based tools. 

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 
    \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 

!!

Do you have the Dockerfile for your electrumx container ?

I would rely on @anwar for more accurate information than me, but yes and there are instructions here electrumx-firo/compose.yml at main · NexusOcean/electrumx-firo · GitHub . If you already have the node running locally the setup is slightly different, but similar. you would only need the electrumx component and would run it on the host network if you have a secure environment to do so.

Which distro/version/release are you using?

Also, are you using the master-20260520 branch? If not you can switch to it with:
git checkout master-20260520

I am not sure if he means the Dockerfile for the nexusocean/electrumx-firo image itself that is on Docker Hub.

Let me know, I can go back and take a look, but it’s not that unique I just forked what already exists so I could try connecting my own wallet like you’re doing. It was part of my “research” into Firo and it checks out. I’m not part of the core team.