如何在浏览器和node.js上使用HTTP API将Uint8Array发布到IPFS?

时间:2017-08-17 04:27:56

标签: javascript node.js xmlhttprequest multipartform-data ipfs

我一直试图这样做几个小时但没有成功。相关的API端点为block/put。 IT要求HTTP请求使用multipart/form-data,但我不知道该怎么做。这是一次尝试:

const req = require("xhr-request-promise");
const FormData = require("form-data");

(async () => {
  const form = new FormData();
  form.append("data", new Buffer([1, 2, 3]));
  console.log(await req("https://ipfs.infura.io:5001/api/v0/block/put", {
    method: "POST",
    body: form
  }));
})();

1 个答案:

答案 0 :(得分:1)

ipfs-http-client 非常适合此任务:

const { create } = require('ipfs-http-client');

// connect to ipfs daemon API server
const ipfs = create('https://ipfs.infura.io:5001');

(async () => {
    await ipfs.block.put(new Uint8Array([1, 2, 3]));
})();