NestJS and IPFS - no connection on the server instance

Viewed 112

I am struggling with binding IPFS node with NestJS instance on the server. All was working fine on the local machine, but on the server, I have a working instance of the IPFS. I know that it works as I can see connected peers and I can see a file uploaded through the server console by https://ipfs.io/ipfs gateway. The code of the IPFS service is quite simple and it does not produce any errors until I try to upload something.

import { Injectable } from '@nestjs/common';

import { create } from 'ipfs-http-client';

@Injectable()
export class IPFSClientService {
  private client = create({
    protocol: 'http',
    port: 5001
  });

  public async upload(file: Express.Multer.File): Promise<string> {
    const fileToAdd = { path: file.filename, content: file.buffer };
    try {
      const addedFile = await this.client.add(fileToAdd, { pin: true });
      return addedFile.path;
    } catch (err) {
      console.log('err', err);
    }
  }
}

Unfortunatelly the error message is enigmatic.

AbortController is not defined
    at Client.fetch (/home/xxx_secret/node_modules/ipfs-utils/src/http.js:124:29)
    at Client.fetch (/home/xxx_secret/node_modules/ipfs-http-client/cjs/src/lib/core.js:141:20)
    at Client.post (/home/xxx_secret/node_modules/ipfs-utils/src/http.js:171:17)
    at addAll (/home/xxx_secret/node_modules/ipfs-http-client/cjs/src/add-all.js:22:27)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.last [as default] (/home/xxx_secret/node_modules/it-last/index.js:13:20)
    at Object.add (/home/xxx_secret/node_modules/ipfs-http-client/cjs/src/add.js:18:14)
    at IPFSClientService.upload (/home/xxx_secret/src/ipfs/ipfs-client.service.ts:20:25)

I will appreciate any help in this matter as I don't have ideas regarding this issue :/

0 Answers
Related