Commit inicial
This commit is contained in:
commit
632473f060
23263
package-lock.json
generated
Normal file
23263
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
18
package.json
Normal file
18
package.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "ipfs",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"type": "module",
|
||||||
|
"dependencies": {
|
||||||
|
"@helia/unixfs": "^1.3.0",
|
||||||
|
"helia": "^1.3.2",
|
||||||
|
"ipfs": "^0.66.1"
|
||||||
|
}
|
||||||
|
}
|
1
retrievedFile.txt
Normal file
1
retrievedFile.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
Meu arquivo no IPFS
|
37
retrive.js
Normal file
37
retrive.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import { create } from 'ipfs';
|
||||||
|
import { writeFileSync } from 'fs';
|
||||||
|
|
||||||
|
class IPFSFileManager {
|
||||||
|
constructor(cid) {
|
||||||
|
this.cid = cid;
|
||||||
|
this.node = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
async initIPFS() {
|
||||||
|
this.node = await create();
|
||||||
|
console.log('IPFS node is ready');
|
||||||
|
}
|
||||||
|
|
||||||
|
async retrieveFileFromIPFS() {
|
||||||
|
try {
|
||||||
|
await this.initIPFS();
|
||||||
|
const chunks = [];
|
||||||
|
for await (const chunk of this.node.cat(this.cid)) {
|
||||||
|
chunks.push(chunk);
|
||||||
|
}
|
||||||
|
const fileData = Buffer.concat(chunks);
|
||||||
|
|
||||||
|
// Save the file data to a local file
|
||||||
|
const filePath = `./retrievedFile.txt`;
|
||||||
|
writeFileSync(filePath, fileData);
|
||||||
|
|
||||||
|
console.log('File retrieved from IPFS and saved as:', filePath);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to retrieve the file from IPFS', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const cid = 'QmQzHxipWRHw8xmR8nwbiYasxQzKMh7rdwYwDxpyuoS9jX'; // Replace with the CID of the file you want to retrieve
|
||||||
|
const ipfsFileManager = new IPFSFileManager(cid);
|
||||||
|
ipfsFileManager.retrieveFileFromIPFS();
|
51
send.js
Normal file
51
send.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
import { create } from 'ipfs';
|
||||||
|
import { readFile as _readFile } from 'fs';
|
||||||
|
|
||||||
|
class IPFSFileManager {
|
||||||
|
constructor(filePath) {
|
||||||
|
this.filePath = filePath;
|
||||||
|
this.node = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
async initIPFS() {
|
||||||
|
this.node = await create();
|
||||||
|
console.log('IPFS node is ready');
|
||||||
|
}
|
||||||
|
|
||||||
|
readFile() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
_readFile(this.filePath, (error, data) => {
|
||||||
|
if (error) {
|
||||||
|
reject(error);
|
||||||
|
} else {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async addFileToIPFS() {
|
||||||
|
try {
|
||||||
|
await this.initIPFS();
|
||||||
|
const fileData = await this.readFile();
|
||||||
|
const results = await this.node.add({ content: fileData });
|
||||||
|
const cid = results.cid.toString();
|
||||||
|
this.closeIPFS();
|
||||||
|
console.log('File added to IPFS with CID:', cid);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to add the file to IPFS', error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async closeIPFS() {
|
||||||
|
if (this.node) {
|
||||||
|
await this.node.stop();
|
||||||
|
console.log('IPFS node connection closed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const filePath = './file.txt';
|
||||||
|
const ipfsFileManager = new IPFSFileManager(filePath);
|
||||||
|
ipfsFileManager.addFileToIPFS();
|
||||||
|
//ipfsFileManager.closeIPFS();
|
Loading…
Reference in New Issue
Block a user