
Avant de commencer, je dois laisser un lien vers l'article précédent , afin qu'il soit clair ce que l'on entend exactement.
Dans cet article, je voudrais analyser la couche qui est responsable du stockage des fichiers et comment elle peut ĂȘtre utilisĂ©e par n'importe qui. Storacle est une bibliothĂšque indĂ©pendante , il n'y a pas de lien direct avec la musique. Vous pouvez organiser le stockage de tous les fichiers.
Dans l'article prĂ©cĂ©dent, j'ai roulĂ© un peu le baril sur ipfs , mais cela s'est produit prĂ©cisĂ©ment dans le contexte du problĂšme que je rĂ©solvais . En gĂ©nĂ©ral, je pense que ce projet est cool. J'aime juste l'opportunitĂ© de crĂ©er diffĂ©rents rĂ©seaux pour diffĂ©rentes tĂąches. Cela vous permet de mieux organiser la structure et de rĂ©duire la charge sur les nĆuds individuels et le rĂ©seau dans son ensemble. Il est possible mĂȘme dans le cadre d'un projet, le cas Ă©chĂ©ant, de dĂ©couper le rĂ©seau en morceaux selon certains critĂšres, en rĂ©duisant la charge globale.
, storacle spreadable . :
- .
- , .
- .
- ( , )
- spreadable , ( )
, :
:
const Node = require('storacle').Node;
(async () => {
try {
const node = new Node({
port: 4000,
hostname: 'localhost'
});
await node.init();
}
catch(err) {
console.error(err.stack);
process.exit(1);
}
})();
:
const Client = require('storacle').Client;
(async () => {
try {
const client = new Client({
address: 'localhost:4000'
});
await client.init();
const hash = await client.storeFile('./my-file');
const link = await client.getFileLink(hash);
await client.removeFile(hash);
}
catch(err) {
console.error(err.stack);
process.exit(1);
}
})();
. , in-memory , . , - , . , (> ) . . "" , .
256 2 . . 1. 62500 (1000000 / sqrt(256)).
, , .
: , , , ... .
, , .
. . http .
javascript , .
https://github.com/ortexx/storacle/blob/master/dist/storacle.client.js window.ClientStoracle ...
" ". , , , . , , , - . src . .
Api
- async Client.prototype.storeFile() â
- async Client.prototype.getFileLink() â
- async Client.prototype.getFileLinks() â ,
- async Client.prototype.getFileToBuffer() â
- async Client.prototype.getFileToPath() â
- async Client.prototype.getFileToBlob() â blob( )
- async Client.prototype.removeFile() â
- Client.prototype.createRequestedFileLink() â
, :
- . ( )
- . , , node.normalizeFilesInfo(), .
- node.exportFiles(), .
, .
, .
- storage.dataSize â
- storage.tempSize â
- storage.autoCleanSize â , . , .
- file.maxSize â
- file.minSize â
- file.preferredDuplicates â
- file.mimeWhitelist â
- file.mimeBlacklist â
- file.extWhitelist â
- file.extBlacklist â
- file.linkCache â
, .
. : npm i -g storacle. , . , storacle -a storeFile -f ./file.txt -c ./config.js, . https://github.com/ortexx/storacle/blob/master/bin/actions.js
- - , . , , , storacle.
- , . , , .
- - . , .
- , , . .
: