我正在使用 js-ipfs 服务器端在 IPFS 上“上传”文件,但它似乎比命令行ipfs daemon
和ipfs add someFile
.
在服务器端,我实例化一个Ipfs
对象,然后尝试storeData
使用文件内容的路径和缓冲区。当我的服务器启动时,我连接到三个集群:
Swarm listening on /ip4/127.0.0.1/tcp/4003/ws/ipfs/QmTBoDWXviw7eRKeDGbp3wU2PxAw1epPxax6mp8uY6CEEW
Swarm listening on /ip4/127.0.0.1/tcp/4002/ipfs/QmTBoDWXviw7eRKeDGbp3wU2PxAw1epPxax6mp8uY6CEEW
Swarm listening on /ip4/10.19.77.89/tcp/4002/ipfs/QmTBoDWXviw7eRKeDGbp3wU2PxAw1epPxax6mp8uY6CEEW
我以这种方式使用 IPFS:
const IPFS = require('ipfs');
const node = new IPFS();
class Ipfs {
constructor() {
node.on('error', e => console.log(e))
node.on('start', () => console.log('Node started !'))
node.on('ready', () => console.log('Node is ready !'))
}
storeData(content, path) {
return new Promise((resolve, fail) => {
let encData = {
path: path,
content: content,
};
node.files.add(encData, (err, data) => {
if (err) return fail(err);
return resolve(data);
})
})
}
}
当我storeData
从我的对象调用时,IPFS 会给我一个哈希值,我可以在其中获取我的文件,但https://ipfs.io/ipfs/[hash]
永远不会加载。
我想坚持这样一个事实,即ipfs add
命令行给出的哈希值立即生效
提前致谢