-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
40 lines (35 loc) · 1.25 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import './style.css'
import toBuffer from 'it-to-buffer'
const cid = 'QmbmesdSusHcvhZwaE4KS8AhhQZS8KEidbiouns3zDCtPX'
const updatePeersCount = (node) => {
const peers = document.getElementById('peers')
setInterval(async () => {
const peersConnected = await node.swarm.peers()
const stats = await node.stats.repo()
peers.innerHTML = `Connected to ${peersConnected.length} peers - ${stats.numObjects} objects stored - ${stats.repoSize} bytes`
}, 1000)
}
const init = async () => {
console.log('Init IPFS')
const IpfsModule = await import('./src/modules/ipfs-core/ipfs-core.js')
const IPFS = IpfsModule.default
console.log(IPFS)
const node = await IPFS.create({
preload: {enabled: true},
})
console.log(node)
updatePeersCount(node)
const identity = await node.id()
const nodeId = identity.id
console.info('nodeId', nodeId)
const buffer = await toBuffer(node.cat(cid))
const blob = new Blob([buffer])
const urlCreator = window.URL || window.webkitURL
const imageUrl = urlCreator.createObjectURL(blob)
const loader = document.getElementById('loader')
const img = document.getElementById('my-image')
loader.style.display = 'none'
img.src = imageUrl
img.classList.remove('hidden')
}
window.addEventListener('load', init)