Cardano-submit-api - remote

Hi,

I have set up a server computer on my local network with a cardano node and cardano-submit-api.
I can use the cardano-submit-api on the machine locally (http://localhost:8090/api/submit/tx with ) Nami, however Im unable to use the it from another machine on the network i.e. http://[serverip]:8090/api/submit/tx. transaction fail and “cardano-submit-api” on server doesnt register any attempt.
Anyone seen this issue and might know what to do?
Note: im not a server genius but I am able to remote ssh to the server machine

Many thanks

Looks like it only binds to the localhost loopback interface by default.

I don’t have one here to test and the documentation is … not very comprehensive: cardano-node/cardano-submit-api at master · input-output-hk/cardano-node · GitHub

If they have done it consistently with cardano-node, starting it with --host-addr <server-ip> as an additional option maybe does the trick.

You can also try --host-addr 0.0.0.0, which for most servers in the Unix world means “bind on all interfaces”. (Otherwise, localhost will not work anymore, after you have bound to the other address.)

1 Like

Thanks !! This helped me a lot!
I put in --host-addr 0.0.0.0 , when I installed, but tried but no idéa why I tested it!

(My interpretation is that) this applied to cardano-tx-submit too, I changed to --listen-address <server-ip> when running cardano-submit-api and "Running server on " instead of “Running server on 127.0.0.1:8090”

did u opened the port in fw?

1 Like

It was not needed for my pcs on my local network. But I did open the port so I can use it off-network. Not 100% sure how saifu that is though

how have you defined the rules on the modem site? Because I have currently some problem to send the transaction from outside my network

I actually only just opened 8090 for that machine (you can try dmz the machine just to see if it is a port forwarding issue). However, I’m planning to redesign my server/network and will do some testing with using ssh-forward via tunnel, and make it “localhost”-only again.