1

Using a DigitalOcean Ubuntu droplet, I have:

nohup cardano-node run
    --topology ~/cardano/mainnet/mainnet-topology.json
    --database-path ~/cardano/db
    --socket-path ~/cardano/db/node.socket
    --host-addr <my_ip>
    --port <port-number>
    --config ~/cardano/mainnet/mainnet-config.json & exit
  • And then asked the wallet to serve the http interface:
cardano-wallet serve \
  --mainnet \
  --node-socket ~/cardano/db/node.socket \
  --database ~/cardano/db
  --port 8090

However, when using Chrome to go to http://<my_ip>:8090/v2/network/information or http://<my_ip>:8090/v2, I only get:

This site can’t be reached
<my_ip> refused to connect.
Try:

Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED

Now, when I run cardano-cli query tip --mainnet I am only at epoch 293 (and as time of this question we are at 310.

Do I need to wait till I get to 310 for the http api to work? Is there anything else that is needed to get this connected?

2 Answers 2

3

By default cardano-wallet listens on loopback ip only - 127.0.0.1, to listen on server external ip, you need to add --listen-address parameter

So at the end command should be:

cardano-wallet serve \
  --listen-address 0.0.0.0 \
  --mainnet \
  --node-socket ~/cardano/db/node.socket \
  --database ~/cardano/db
  --port 8090

Or put dropleat real ip instead of 0.0.0.0 if it doesn't works.

Keep in mind that this is very, very dangerous to keep your wallet open to whole world especially on mainnet, so use this with caution and please use digitalocean FW and allow only your own IPs.

2
  • I'm worried I may have a fundamental misunderstanding of this whole thing. I wanted to make it open to the whole world, so I can create wallets for people via this service. (specifically, I wanted to make an iOS app that among other things can generate a wallet and give people their 12-15 word passphrase and let them enter/change a password) Dec 28, 2021 at 2:33
  • @JeffreyBerthiaume, yes, never do that. The generation of the wallet needs to stay in the application itself, having a hosted service to do this is an extremely bad idea. Dec 29, 2021 at 9:35
0

I'm no networking wiz (working on it) - but I just played around with the above:

I got the same error when I used my public IP address. However, when I use the loopback address (127.0.0.1) it seems to work for me.

Try running: http://127.0.0.1:8090/v2/network/information in chrome and see if that works.

If anyone knows why the public IP doesn't work but the loopback does, please explain why! :)

3
  • I'm not running this locally - this is on a Digital Ocean droplet, kind of like having a mini server running. Dec 27, 2021 at 19:50
  • Ah I see. Then it won't be so simple - my naive and non-technical answer would be that you'd have to configure your droplet firewall to open port 8090 so that you could access it from the outside. Security is a concern here, but digital ocean has cloud-firewall options that make it relatively easy to allow connections to/from specific addresses (your home/office). I will work on this myself because it's piqued my curiosity; I'll get back here when I learn more.
    – zhekson
    Dec 27, 2021 at 19:56
  • FYI, I created and applied a firewall specifically letting traffic in from the node port as well as the wallet port. Still nothing on either. Dec 27, 2021 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.