我无法使用 ipfs
I am not able to use ipfs
我想在 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;
}
});
}
我在浏览器中收到此错误...
TypeError: ipfsClient is not a function
我对 ipfs 不熟悉,但我查看了官方文档,第一行是这样的:
const { CID } = require('ipfs-http-client')
这些括号是必不可少的
What do {curly braces} around javascript variable name mean
应该是一些重大变化。您拥有的示例副本很可能是旧版本。如果您访问最新的自述文件,新版本应启动:
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 ipfs-http-client@42.0.0
。而不是 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() 而不能直接使用。
我想在 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;
}
});
}
我在浏览器中收到此错误...
TypeError: ipfsClient is not a function
我对 ipfs 不熟悉,但我查看了官方文档,第一行是这样的:
const { CID } = require('ipfs-http-client')
这些括号是必不可少的
What do {curly braces} around javascript variable name mean
应该是一些重大变化。您拥有的示例副本很可能是旧版本。如果您访问最新的自述文件,新版本应启动:
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 ipfs-http-client@42.0.0
。而不是 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() 而不能直接使用。