ERROR starting "ceramic daemon --network=testnet-clay" during installation

Hello everyone,

I followed all the Quickstarter steps to start up ceramic daemon, but after reaching the final step and running “ceramic daemon --network=testnet-clay”, I get an error that states: (node:58056) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.

Please migrate your code to use AWS SDK for JavaScript (v3). code: ‘ENOENT’. I opened a Github issue about it in more detail here: BUG: When running npx @ceramicnetwork/cli daemon, there is an error Please migrate your code to use AWS SDK for JavaScript (v3). · Issue #97 · ceramicnetwork/docs-docusaurus · GitHub. I also uninstalled and reinstalled all the tools again to make sure I did all the steps in the right order and it still gave the same issue.

Could anyone please help me figure out why it is happening? I also tried to run the .wheel installation and it said the installation failed, to check the logs. And I’m not sure how to check the logs.

Hi @anapiligrim,

Sorry to hear that you’re having issues.

I’m assuming you were able to successfully start the ceramic-one binary as part of the installation process?

1 Like

The warning about the AWS SDK is safe to ignore.

Looking at the github issue you linked I think the real problem you are seeing is around starting up the ceramic-one daemon. Looks like it’s trying to find ceramic-one at /usr/local/bin/ceramic-one but getting ENOENT, suggesting the ceramic-one binary is not actually installed at that location. I’d suggest double-checking where you installed ceramic-one and starting it manually and making sure it comes up successfully before trying to start the js-ceramic daemon.

4 Likes

Hello Spencer and Mohsin,

Thank you so much for your reply! I went through all the installation steps again in my root directory and now I get a different error that says the following after I run " npx @ceramicnetwork/cli daemon" :

(node:9547) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check blog post at Announcing end-of-support for AWS SDK for JavaScript v2 effective September 8, 2025 | AWS Developer Tools Blog
(Use node --trace-warnings ... to show where the warning was created)
Ceramic daemon failed to start up:
Error: Running ceramic-one in bundled mode is not supported. Pass --ipfs-api to connect to an external ceramic-one node.
at IpfsConnectionFactory.buildIpfsConnection (file:///Users/anastasiyauraleva/.npm-global/lib/node_modules/@ceramicnetwork/cli/lib/ipfs-connection-factory.js:28:23)
at CeramicDaemon.create (file:///Users/anastasiyauraleva/.npm-global/lib/node_modules/@ceramicnetwork/cli/lib/ceramic-daemon.js:129:50)
at CeramicCliUtils.createDaemon (file:///Users/anastasiyauraleva/.npm-global/lib/node_modules/@ceramicnetwork/cli/lib/ceramic-cli-utils.js:148:44)
at async Command. (file:///Users/anastasiyauraleva/.npm-global/lib/node_modules/@ceramicnetwork/cli/lib/bin/ceramic.js:30:5)

1 Like

You probably have an old js-ceramic config file that is trying to start ipfs in “bundled” mode, where the js-ceramic daemon would automatically start ipfs/kubo for you. Now that we’ve replaced kubo with ceramic-one that mode is no longer supported and you need to manually start ceramic-one yourself and point your js-ceramic node at it with the --ipfs-api flag.

2 Likes

Hey @anapiligrim. I tried to replicate the issue and there are three key things that I’d like you to check:

  1. Do you have node.js version v20 or above running on your machine? I tested this with an older version of node.js and got the same error even when the rest of the config was correct. You can test which version of node.js you have installed using the following command:

    node -v

    If you are running a version that is older than v20 you can easily upgrade by getting the latest version here.

  2. Do you have the latest version of js-ceramic running on your machine? You can check by running the following command:

    ceramic -v

    Currently, the latest version is v6.2. If you are running an older version, you can upgrade by running npm install -g @ceramicnetwork/cli

  3. Lastly, to Spencer’s point above, if you have been using Ceramic for a while you might have an old configuration file that is being picked up and used to run your node. You can check the config you have by navigating to the directory where you can find the ceramic config file:

    cd ~/.ceramic

    Here you should find a file called daemon.config.json. You can open it with an editor of your choice. Your configuration file should look as follows (especially check out the configuration in a ipfs section):

 {
  "anchor": {
    "auth-method": "did"
  },
  "http-api": {
    "cors-allowed-origins": [
      ".*"
    ],
    "admin-dids": []
  },
  "ipfs": {
    "mode": "remote",
    "host": "http://localhost:5101",
    "disable-peer-data-sync": false
  },
  "logger": {
    "log-level": 2,
    "log-to-files": false
  },
  "metrics": {
    "metrics-exporter-enabled": false,
    "metrics-publisher-enabled": false
  },
  "network": {
    "name": "testnet-clay"
  },
  "node": {},
  "state-store": {
    "mode": "fs",
    "local-directory": "/Users/justinapetraityte/.ceramic/statestore/"
  },
  "indexing": {
    "db": "sqlite:///Users/justinapetraityte/.ceramic/indexing.sqlite",
    "allow-queries-before-historical-sync": true,
    "disable-composedb": false,
    "enable-historical-sync": false
  }
}

If your config file looks different, you can either start the ceramic node manually and provide the ipfs-api flag just like Spencer mentioned above, or if that still fails, you can delete the daemon.config.json file and start the ceramic node again using ceramic daemon which will create a fresh new configuration file with expected configs.

Please let us know if you still have issues and we will dig further.

2 Likes