Единственные ответы, которые я могу найти в своем исследовании, касаются загрузки нескольких файлов из каталога на ПК. Это не то, что я пытаюсь сделать. Я пытаюсь создать каталог в ipfs, а затем добавить новые файлы в этот каталог, используя js-ipfs только с чистым javascript, обычно по одному файлу за раз.
Я концептуально понимаю, что каталог в ipfs - это просто еще один файл. Но я не понимаю, как создать этот каталог (файл) и добавить в него другие файлы для последующего извлечения, особенно с помощью js-ipfs и чистого кода javascript.
Я неявно не использую node.js, поэтому ни реагирую, ни angular, ни vue.
Это работает для одного файла без каталога на ipfs:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>
</head>
<script>
document.addEventListener('DOMContentLoaded', async () => {
const nodeId = 'ipfs-' + Math.random()
const node = await Ipfs.create({ repo: nodeId })
console.log("Your node: " + nodeId)
window.node = node
const status = node.isOnline() ? 'online' : 'offline'
console.log(`Node status: ${status}`)
async function addFile () {
for await (const { cid } of node.add('Some file content!')) {
console.log('successfully stored', cid)
cidhash=cid.toBaseEncodedString()
console.log(cidhash)
}
}
addFile()
})
</script>
<body>
</body>
</html>
Как заставить эту работу создать каталог и сначала добавить в него файл, а затем добавить еще один файл в созданный каталог (псевдокод)?
async function addFile () {
for await (const { directory, filename } of node.add('/someDirectory/someFilename','Some file content!')) {
console.log('successfully stored', directory, filename)
console.log(directory, filename)
}
}