hi all,
I hope everything is well. I am at this stage with the testnet tutorial:
https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/stake-pool/corenode-start
I have customised the command according to my file names:
cardano-node run
–topology testnet-topology2.json
–database-path /db_c
–socket-path /db_c/node.socket
–host-addr <x.x.x.x>
–port
–config testnet-config.json
–shelley-kes-key kes.skey
–shelley-vrf-key vrf.skey
–shelley-operational-certificate node.cert
In the above IP and port are modified, in the run code they are my ones.
On running the script I always get the following:
Listening on http://127.0.0.1:12798
FsError {fsErrorType = FsInsufficientPermissions, fsErrorPath = /db_c, fsErrorString = “Permission denied”, fsErrorNo = Just (Errno 13), fsErrorStack = [(“ioToFsError”,SrcLoc {srcLocPackage = “ouroboros-consensus-0.1.0.0-inplace”, srcLocModule = “Ouroboros.Consensus.Storage.FS.IO”, srcLocFile = “src/Ouroboros/Consensus/Storage/FS/IO.hs”, srcLocStartLine = 88, srcLocStartCol = 41, srcLocEndLine = 88, srcLocEndCol = 68}),(“handleError”,SrcLoc {srcLocPackage = “ouroboros-consensus-0.1.0.0-inplace”, srcLocModule = “Ouroboros.Consensus.Storage.FS.IO”, srcLocFile = “src/Ouroboros/Consensus/Storage/FS/IO.hs”, srcLocStartLine = 84, srcLocStartCol = 23, srcLocEndLine = 84, srcLocEndCol = 38}),(“rethrowFsError”,SrcLoc {srcLocPackage = “ouroboros-consensus-0.1.0.0-inplace”, srcLocModule = “Ouroboros.Consensus.Storage.FS.IO”, srcLocFile = “src/Ouroboros/Consensus/Storage/FS/IO.hs”, srcLocStartLine = 65, srcLocStartCol = 54, srcLocEndLine = 65, srcLocEndCol = 71}),(“createDirectoryIfMissing”,SrcLoc {srcLocPackage = “ouroboros-consensus-0.1.0.0-inplace”, srcLocModule = “Ouroboros.Consensus.Storage.FS.API”, srcLocFile = “src/Ouroboros/Consensus/Storage/FS/API.hs”, srcLocStartLine = 123, srcLocStartCol = 5, srcLocEndLine = 123, srcLocEndCol = 29})], fsLimitation = False}
cardano-node: FsInsufficientPermissions for /db_c: Permission denied at CallStack (from HasCallStack):
ioToFsError, called at src/Ouroboros/Consensus/Storage/FS/IO.hs:88:41 in ouroboros-consensus-0.1.0.0-inplace:Ouroboros.Consensus.Storage.FS.IO
handleError, called at src/Ouroboros/Consensus/Storage/FS/IO.hs:84:23 in ouroboros-consensus-0.1.0.0-inplace:Ouroboros.Consensus.Storage.FS.IO
rethrowFsError, called at src/Ouroboros/Consensus/Storage/FS/IO.hs:65:54 in ouroboros-consensus-0.1.0.0-inplace:Ouroboros.Consensus.Storage.FS.IO
createDirectoryIfMissing, called at src/Ouroboros/Consensus/Storage/FS/API.hs:123:5 in ouroboros-consensus-0.1.0.0-inplace:Ouroboros.Consensus.Storage.FS.API
@ADAfrog suggested there may be issues with permissions on the db_c directory. I have never had this happen when running the relay node. When running the relay the first time (in the absence of a db directory), said directory would just get created and the node.socket as well as other files get populated in it. This does not happen with the core node. I have also tried to create an empty db_c directory but that did not solve the problem.
Is there a part of the config file that needs changing between relay running and core running? I went through the config file and didn’t find anything obvious. I ask this because, in the tutorial, before starting the CORE node, it suggest downloading new topology, genesis and config files:
https://cardano-foundation.gitbook.io/stake-pool-course/stake-pool-guide/stake-pool/core_relay
I don’t think these linked files with the shelley_ prefix actually exist (i get a 404 not found every time), so I just use the original files (used for relay building and running). Is this where the problem lies?
One more thing: to run the core node, I have not started a completely new build. I have just made a new directory (eg core_t) into which I copied topology, config, genesis, vrf, kes and cert. All the dependencies, ghc, libsodium and cardano-node are the same as the relay. Could this be the issue?
Thank you in advance for you time and let me know if you need more info,
Cheers,
A