Storacle - stockage de fichiers décentralisé

image


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.
  • , . , , .
  • - . , .
  • , , . .

:



All Articles