I’ve been up and running on testnet thanks to @laplasz Working through practicing transactions and following the Stake Pool Course. I can build keys and addresses, but ran into this while building a full simple transaction,
cardano-cli: Network.Socket.connect: <socket: 11>: does not exist (No such file or directory)relay@relay-test3:~/keys$
My foundation knowledge of linux is lacking. I have thought of sockets as ports or a way for processes to communicate, but I’m not sure I understand the specifics of how linux uses, configures, and maintains sockets, or how that implements with Cardano. I’ve read through the Ubuntu pages on sockets and have not made much more sense to me.
I guess my question is, can anyone explain sockets to me in a way that can help me improve my own troubleshooting? I’ve simply copy/pasted the lines from tutorials related to sockets and setting paths, but I’d like to comprehend this better. Thank you in advance, Eazy
check that the file exists: ls -l ~/cardano-node/relay/db/node.socket
the result should begin with ‘s’ srwxr-xr-x 1 user group 0 Apr 30 07:59 node.socket
if exists then list the processes which using this socket file:
$ lsof storage/node.socket
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cardano-n 6012 user 27u unix 0x0000000000000000 0t0 31984423 storage/node.socket type=STREAM
I went back and ran the export CARDANO_NODE_SOCKET_PATH to /relay/db/node.socket and I think the transaction completed, but probably with errors since it had old ttl and tip info. I’ll keep working on this and see if I can build some new transactions.
My script works correctly to show the file and its permissions. But what should I do with the output of lsof storage? Mine is different than your output
first try ls -l storage/node.socket
but I guess the path of your socket file is: /home/princess/relay/db/node.socket so use this path for lsof
also use this path during export, without ~ character export CARDANO_NODE_SOCKET_PATH=/home/princess/relay/db/node.socket
yes, what you need to do is to export the socket file correctly.
do you know what is the full path of the socket file? go to the folder where the socket file is placed then call the command pwd