我无法使用ipfs

问题描述 投票:0回答:3

我想在 ipfs 上发布文件,但它显示错误。

这是我的代码...

const ipfsClient = require('ipfs-http-client');
const ipfs = ipfsClient({host: 'ipfs.infura.io', port: 5001, protocol: 
'https'});

function App() {
const [buffer, setBuffer] = useState();

const handleChange = (event) => {
  event.preventDefault();
  const file = event.target.files[0];
  const reader = new window.FileReader();
  reader.readAsArrayBuffer(file);
  reader.onloadend = () =>{
    setBuffer(reader.result);
  }

}

const handleSubmit = async(event) => {
    event.preventDefault();
    console.log('submitting...')
    await ipfs.add({buffer}, (error, result) => {
      console.log('ipfs results');
      if(error){
        console.error(error);
        return;
      }
    });
}

我在浏览器中收到此错误...

类型错误:ipfsClient 不是函数

blockchain ethereum ipfs js-ipfs decentralized-applications
3个回答
1
投票

应该是一些重大变化。您所拥有的示例的副本很可能是旧版本。如果您访问最新的自述文件,新版本应以以下方式启动:

import { create } from 'ipfs-http-client'
const client = create()
const client = create(new URL('http://127.0.0.1:5002'))
const { cid } = await client.add('Hello world!')

您可以通过指定版本号不@来回滚到使用旧版本,即

npm install [email protected]
。而不是总是拉取最新版本的
npm install ipfs-http-client
(现在是 53.X)。

还可以在“package.json”文件中查看您安装的版本,以查看您正在使用的版本,然后使用您需要的版本进行编辑,“删除node_modules”文件夹并重新运行

npm install
。但是这个需要你保存,需要一个参数-s,所以运行起来就是
npm install -s ipfs-http-client

版本 42,示例代码应该是您正在使用的代码“https://github.com/ipfs/js-ipfs/tree/v42.0.0”。

版本 53(或官方 1.0 版本),告诉您如果访问官方 github 站点,则会发生重大更改;其中 ipfs-http-client 需要 create() 并且不能直接使用。


0
投票

我对 ipfs 不熟悉,但我检查了官方文档,他们已经做了这样的第一行:

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

这些括号是必不可少的

javascript 变量名称周围的 {花括号} 是什么意思


0
投票

KUBET KUBET11.RENT là nhà cái đẳng cấp và uy tín số 1 châu Á. KUBET đang sở hữu hơn 5.000.000 比维也纳。我将在 600.000 小时内使用 200.000 小时的应用程序。 Trang chủ Kubet được tổ chức GEOTRUST công nhận an toàn và khuyến nghị người chơi nên tham gia。 https://kubet11.rent/

© www.soinside.com 2019 - 2024. All rights reserved.