
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХрд╛ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ , рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЙрд╕ рдкрд░рдд рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдЯреЙрд░рдХрд▓ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ , рдЬрд┐рд╕рдХрд╛ рд╕рдВрдЧреАрдд рд╕реЗ рдХреЛрдИ рд╕реАрдзрд╛ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ ipfs рдкрд░ рдмреИрд░рд▓ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд░реЛрд▓ рдХрд┐рдпрд╛ рдерд╛ , рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдареАрдХ рд╣реБрдЖ рдЬреЛ рдореИрдВ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢рд╛рдВрдд рд╣реИред рдореБрдЭреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкрд╕рдВрдж рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрдкреВрд░реНрдг рдиреЛрдбреНрд╕ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рднрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рднреА рд╕рдВрднрд╡ рд╣реИ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдХреБрдЫ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдордЧреНрд░ рднрд╛рд░ рдХреЛ рдХрдо рдХрд░рдирд╛ред
, 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.
- , . , , .
- - . , .
- , , . .
: