[Solved] Node.js - Create a NFT - Save IPFS

this works for you?

x = async () => {
    const  Moralis = require('moralis/node')
    console.log(Moralis.CoreManager.get("VERSION"))
    await Moralis.start({ serverUrl: "https://asfadfasdf:2053/server", appId: "gasgsfgsdg" });

    price = await Moralis.Web3API.token.getTokenPrice({address: "0xe9e7cea3dedca5984780bafc599bd69add087d56", chain: "bsc"})
    console.log(price)
    }

x();

I replaced serverUrl and appId with mine, but this code doesn’t work I have an error.

js0.0.142
Moralis.start warning: to use web3 access, moralisSecret is required
(node:1496) UnhandledPromiseRejectionWarning: Error: XMLHttpRequest failed: "Unable to connect to the Parse API"
    at handleError (D:\Programmation\Hakono\NFT\Moralis\test-save-moralis_ipfs\node_modules\moralis\lib\node\RESTController.js:440:15)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Function.initPlugins (D:\Programmation\Hakono\NFT\Moralis\test-save-moralis_ipfs\node_modules\moralis\lib\node\MoralisWeb3.js:255:40)
    at async Function.start (D:\Programmation\Hakono\NFT\Moralis\test-save-moralis_ipfs\node_modules\moralis\lib\node\Parse.js:139:7)
    at async x (D:\Programmation\Hakono\NFT\Moralis\test-save-moralis_ipfs\src\index.js:12:5)
(node:1496) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). 
(rejection id: 2)
(node:1496) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

and here is the file I wrote

require('dotenv').config();
const { MORALIS_SERVER_URL, MORALIS_APPLICATION_ID } = process.env;

x = async () => {
    const Moralis = require('moralis/node')
    console.log(Moralis.CoreManager.get("VERSION"))
    await Moralis.start({ serverUrl: MORALIS_SERVER_URL, appId: MORALIS_APPLICATION_ID });

    price = await Moralis.Web3API.token.getTokenPrice({ address: "0xe9e7cea3dedca5984780bafc599bd69add087d56", chain: "bsc" })
    console.log(price)
}

x();

for me it works fine, what version of moralis did it display? it should be a recent version anyway.

what is you server subdomain/url?

Yes I have forget to add the version, it print for me js0.0.142.

And has a server… I don’t know ^^ , I use my local computer, runing the script with node src/index.js

Do I need to put it on a server to make it work ?

I mean what you have in MORALIS_SERVER_URL variable

Oh okay, here is my .env file:

MORALIS_SERVER_URL = "https://bxz6lkh2y9jq.usemoralis.com:2053/server";
MORALIS_APPLICATION_ID = "q55VBrpQvPaaqgE8XRkDofo5tbGf0nqlWlWk3VB5";
MORALIS_MASTER_KEY = "{redacted}";

It’s what I found in my Moralis Admin Server

I tested this now and it works fine for me, I tested it with js0.0.142:


x = async () => {
    const  Moralis = require('moralis/node')
    console.log(Moralis.CoreManager.get("VERSION"))
    await Moralis.start({ serverUrl: "https://bxz6lkh2y9jq.usemoralis.com:2053/server", appId: "q55VBrpQvPaaqgE8XRkDofo5tbGf0nqlWlWk3VB5" });

    price = await Moralis.Web3API.token.getTokenPrice({address: "0xe9e7cea3dedca5984780bafc599bd69add087d56", chain: "bsc"})
    console.log(price)
    }

x();

Oh damn I found the error !

My .env file should look like it:

MORALIS_SERVER_URL = "https://bxz6lkh2y9jq.usemoralis.com:2053/server"
MORALIS_APPLICATION_ID = "q55VBrpQvPaaqgE8XRkDofo5tbGf0nqlWlWk3VB5"
MORALIS_MASTER_KEY = "JZAW5gTAL59zUVRWAVHRKyD6mrc2KVskKaqTsLoX"

I just removed every ; at the end :sweat_smile:

Thanks for all crypto

1 Like

i need to insert the xAPI key. I saw where to get it but don’t know how to authorize the access:

what do i put as Value ? :slight_smile:
Thank you

you can get the api key from here: https://admin.moralis.io/web3Api

yes, thank you. So, is that what I need to do? Put the API key in value in order to get access and then get the xAPI?
if so, i did that and got a 401 error when running the code.
Thank you
Flo

that is the api key that you use for web3api, what that error 401 says?

thank you for your help, this is the error. i think i found another thread with a similar error:

Error: Request failed with status code 401
    at createError (/Users/xxxx/Downloads/moralis-mutants-nft-engine-main/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/Users/xxxx/Downloads/moralis-mutants-nft-engine-main/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/Users/xxxx/Downloads/moralis-mutants-nft-engine-main/node_modules/axios/lib/adapters/http.js:293:11)
    at IncomingMessage.emit (node:events:402:35)
    at endReadableNT (node:internal/streams/readable:1340:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [Function: httpAdapter],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
      'X-API-Key': '8gh3Y5oaw7tA3en',
      'User-Agent': 'axios/0.23.0',
      'Content-Length': 5229497
    },
    method: 'post',
    url: 'https://deep-index.moralis.io/api/v2/ipfs/uploadFolder',
    data: '[{"path":"images/0000000000000000000000000000000000000000000000000000000000000001.png","content":"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AABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4A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'... 5219497 more characters
  },
  request: <ref *1> ClientRequest {
    _events: [Object: null prototype] {
      abort: [Function (anonymous)],
      aborted: [Function (anonymous)],
      connect: [Function (anonymous)],
      error: [Function (anonymous)],
      socket: [Function (anonymous)],
      timeout: [Function (anonymous)],
      prefinish: [Function: requestOnPrefinish]
    },
    _eventsCount: 7,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    destroyed: false,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    maxRequestsOnConnectionReached: false,
    _defaultKeepAlive: true,
    useChunkedEncodingByDefault: true,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: null,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    _closed: false,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: false,
      _SNICallback: null,
      servername: 'deep-index.moralis.io',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 10,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'deep-index.moralis.io',
      _readableState: [ReadableState],
      _maxListeners: undefined,
      _writableState: [WritableState],
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: [TLSWrap],
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [Circular *1],
      [Symbol(res)]: [TLSWrap],
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(async_id_symbol)]: 58,
      [Symbol(kHandle)]: [TLSWrap],
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 0,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(connect-options)]: [Object],
      [Symbol(RequestTimeout)]: undefined
    },
    _header: 'POST /api/v2/ipfs/uploadFolder HTTP/1.1\r\n' +
      'Accept: application/json\r\n' +
      'Content-Type: application/json\r\n' +
      'X-API-Key: 8gh3Y5oaw7tA3en\r\n' +
      'User-Agent: axios/0.23.0\r\n' +
      'Content-Length: 5229497\r\n' +
      'Host: deep-index.moralis.io\r\n' +
      'Connection: close\r\n' +
      '\r\n',
    _keepAliveTimeout: 0,
    _onPendingData: [Function: nop],
    agent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object: null prototype],
      requests: [Object: null prototype] {},
      sockets: [Object: null prototype],
      freeSockets: [Object: null prototype] {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      scheduling: 'lifo',
      maxTotalSockets: Infinity,
      totalSocketCount: 1,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    socketPath: undefined,
    method: 'POST',
    maxHeaderSize: undefined,
    insecureHTTPParser: undefined,
    path: '/api/v2/ipfs/uploadFolder',
    _ended: true,
    res: IncomingMessage {
      _readableState: [ReadableState],
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      socket: [TLSSocket],
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      rawHeaders: [Array],
      rawTrailers: [],
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 401,
      statusMessage: 'Unauthorized',
      client: [TLSSocket],
      _consuming: false,
      _dumped: false,
      req: [Circular *1],
      responseUrl: 'https://deep-index.moralis.io/api/v2/ipfs/uploadFolder',
      redirects: [],
      [Symbol(kCapture)]: false,
      [Symbol(kHeaders)]: [Object],
      [Symbol(kHeadersCount)]: 24,
      [Symbol(kTrailers)]: null,
      [Symbol(kTrailersCount)]: 0,
      [Symbol(RequestTimeout)]: undefined
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    host: 'deep-index.moralis.io',
    protocol: 'https:',
    _redirectable: Writable {
      _writableState: [WritableState],
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _options: [Object],
      _ended: true,
      _ending: true,
      _redirectCount: 0,
      _redirects: [],
      _requestBodyLength: 5229497,
      _requestBodyBuffers: [],
      _onNativeResponse: [Function (anonymous)],
      _currentRequest: [Circular *1],
      _currentUrl: 'https://deep-index.moralis.io/api/v2/ipfs/uploadFolder',
      [Symbol(kCapture)]: false
    },
    [Symbol(kCapture)]: false,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
      accept: [Array],
      'content-type': [Array],
      'x-api-key': [Array],
      'user-agent': [Array],
      'content-length': [Array],
      host: [Array]
    }
  },
  response: {
    status: 401,
    statusText: 'Unauthorized',
    headers: {
      date: 'Fri, 10 Dec 2021 16:52:10 GMT',
      'content-type': 'application/json; charset=utf-8',
      'content-length': '25',
      connection: 'close',
      'x-powered-by': 'Express',
      'access-control-allow-origin': '*',
      etag: 'W/"19-aa5ews+8iO9r0nbrJ9a59/u0j00"',
      vary: 'Accept-Encoding',
      'cf-cache-status': 'DYNAMIC',
      'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
      server: 'cloudflare',
      'cf-ray': '6bb7fb475a6d020d-ZRH'
    },
    config: {
      transitional: [Object],
      adapter: [Function: httpAdapter],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      maxBodyLength: -1,
      validateStatus: [Function: validateStatus],
      headers: [Object],
      method: 'post',
      url: 'https://deep-index.moralis.io/api/v2/ipfs/uploadFolder',
      data: '[{"path":"images/0000000000000000000000000000000000000000000000000000000000000001.png","content":"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AABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4AAAAAQAEQoAMAAAAAUAAE6AAAAAAAFAABOgAAAAAABUCADgAAAABAARCgAwAAAABQAAToAAAAAAAUAAE6AAAAAAAFQIAOAAAAAEABEKADAAAAAFAABOgAAAAAABQAAToAAAAAAAVAgA4A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'... 5219497 more characters
    },
    request: <ref *1> ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: true,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: null,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      _closed: false,
      socket: [TLSSocket],
      _header: 'POST /api/v2/ipfs/uploadFolder HTTP/1.1\r\n' +
        'Accept: application/json\r\n' +
        'Content-Type: application/json\r\n' +
        'X-API-Key: 8gh3Y5oaw7tA3en\r\n' +
        'User-Agent: axios/0.23.0\r\n' +
        'Content-Length: 5229497\r\n' +
        'Host: deep-index.moralis.io\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'POST',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      path: '/api/v2/ipfs/uploadFolder',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'deep-index.moralis.io',
      protocol: 'https:',
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    data: { message: 'Invalid key' }
  },
  isAxiosError: true,
  toJSON: [Function: toJSON]
}

I am trying to follow this video:

to authorize in order to see my xApi, i copied my Cli Api in the Autorize value

thank you!

you have to use the API key from here: https://admin.moralis.io/web3Api

it worked!!! :smiley: :smiley: Thank you!!!

after completing the video, i got three nft on Opensea testnet, but no attributes on them, is that expected with that code?
Also, on Remix, if i want to mind 1000 nft, do i need to enter 1000 lines or is there another code for that that basically increment automatically?

    // account, token_id, number
        _mint(msg.sender, 1, 1, "");
        _mint(msg.sender, 2, 1, "");
        _mint(msg.sender, 3, 1, "");
    }

Thank you!

if the metadata files were not available or didn’t have the right name for ERC1155 then it could be a reason to not make it to opensea.

I don’t know of an easy way to mint 1000 nfts, usually you make a mint function and make it available to everyone that wants to mint and they will call the function to do those mints.

thank you. The metadata did upload but there were no traits in it like “hat: red, …” but i am guessing it is not an option of that code

did not really understand the last part :slight_smile: but i understand there isn’t an easy way to upload 1000 at once. thanks again!

if i upload NFT to opensea from Moralis or another server, and then remove that server, does the NFT stay on OpenSea? :slight_smile:

the NFT should stay on opensea, it shouldn’t be connected directly to the server (in case that you used IPFS)