рд╕реНрдЯреЛрд░реЗрдХрд▓ - рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдлрд╝рд╛рдЗрд▓ рднрдВрдбрд╛рд░рдг

рд╕реНрдЯреЛрд░реЗрдХрд▓ - рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдлрд╝рд╛рдЗрд▓ рднрдВрдбрд╛рд░рдг

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХрд╛ рд▓рд┐рдВрдХрддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЙрд╕ рдкрд░рдд рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдИ рднреА рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдЯреЛрд░реЗрдХрд▓ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рд╕рдВрдЧреАрдд рд╕реЗ рдХреЛрдИ рд╕реАрдзрд╛ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ. рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ "рдмреИрд░рд▓ рдХреЛ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝рд╛рдпрд╛"ред ipfs, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реБрдЖ рдЬрд┐рд╕реЗ рдореИрдВ рд╣рд▓ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реВрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдбреНрд╕ рдФрд░ рд╕рдВрдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рд╕рдордЧреНрд░ рднрд╛рд░ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдП, рдХреБрдЫ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреЛрд░реЗрдХрд▓ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдлреИрд▓рдиреЗ рдпреЛрдЧреНрдп рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдРрдВ:

  • рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рдиреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ, рдЦрдВрдбреЛрдВ рдореЗрдВ рдирд╣реАрдВ.
  • рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреА рдЕрдкрдиреА рдЕрдиреВрдареА рд╕рд╛рдордЧреНрд░реА рд╣реИрд╢ рд╣реЛрддреА рд╣реИред
  • рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • рдПрдХ рдиреЛрдб рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИ (рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ, рдЙрд╕ рдкрд░ рдиреАрдЪреЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ)
  • рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдорд╛рдиреНрдп рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рд╕рд╛рд░ рдпреЛрдЧреНрдп рдХреНрд╖рдорддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИ, рдЬреЛ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдирдВрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреА (рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА)

рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:

рд╕рд░реНрд╡рд░:

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);
  }
})();

рдЕрдВрджрд░ рдХрд╛ рдирдЬрд╛рд░рд╛

рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреБрдЫ рднреА рдлреИрдВрд╕реА рдирд╣реАрдВ рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЙрдирдХреЗ рдХреБрд▓ рдЖрдХрд╛рд░ рдФрд░ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрди-рдореЗрдореЛрд░реА рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдФрд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддрдХ рдмрд╛рд░-рдмрд╛рд░ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдПрдХ рдЕрдкрд╡рд╛рдж рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрдВрдбрд╛рд░рдг рдЖрдХрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдирдП рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд░реЛрдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ (> рдорд╛рди рд▓реАрдЬрд┐рдП рджрд╕ рд▓рд╛рдЦ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдХрдо рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдФрд░ рдЕрдзрд┐рдХ рдиреЛрдб рдЪрд▓рд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрджрд┐ "рдХреНрд▓реАрдирд░" рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдлрд╝рд╛рдЗрд▓ рднрдВрдбрд╛рд░рдг рдореЗрдВ 256 рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ 2 рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓реЗрдВ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпрд╛рдиреА рдЕрдЧрд░ 1 рдорд┐рд▓рд┐рдпрди рд╣реИрдВ. рдРрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рдЧрднрдЧ 62500 рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА (1000000 / sqrt(256))ред

рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдлрд╝рд╛рдЗрд▓ рд╣реИрд╢ рд╕реЗ рдмрдирддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрджрд┐ рдЖрдк рд╣реИрд╢ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрд╕ рддрдХ рддреБрд░рдВрдд рдкрд╣реБрдВрдЪ рд╕рдХреЗрдВред

рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рднрдВрдбрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛: рдХрдордЬреЛрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдЬрд╣рд╛рдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд░рдЦрдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХрд╛ рддреНрд╡рд░рд┐рдд рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдЖрджрд┐ред рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реБрдирд╣рд░рд╛ рдорддрд▓рдмред

рдХреИрд╢рд┐рдВрдЧ

рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рддреЗ рд╕рдордп, рд╕рд╛рде рд╣реА рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреИрд╢ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдХрд╛рд░рдг, рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдкреВрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕рд╕реЗ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдЧрддрд┐ рддреЗрдЬ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд▓реЛрдб рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреИрд╢рд┐рдВрдЧ http рд╣реЗрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд╣реЛрддреА рд╣реИред

рд╕рдорд░реВрдкрддрд╛

рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдХ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 
рдЖрдк рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/ortexx/storacle/blob/master/dist/storacle.client.js рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкрд╣реБрдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ window.ClientStoracle рдпрд╛ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВред

рдЖрд╕реНрдердЧрд┐рдд рд▓рд┐рдВрдХ

рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ "рд╕реНрдердЧрд┐рдд рд╕рдВрджрд░реНрдн" рднреА рд╣реИред рдпрд╣ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдФрд░ рдЕрднреА рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдорд┐рд▓ рдЬрд╛рдПрдЧреА рддреЛ рдЙрд╕реЗ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рддрд╕реНрд╡реАрд░реЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдмрд╕ src рдореЗрдВ рдПрдХ рд╕реНрдердЧрд┐рдд рд▓рд┐рдВрдХ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдХрдИ рдорд╛рдорд▓реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ.

рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ

  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.рд╕реНрдЯреЛрд░рдлрд╛рдЗрд▓() - рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдирд╛
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.getFileLink() - рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.getFileLinks() - рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдореМрдЬреВрдж рд╕рднреА рдиреЛрдбреНрд╕ рд╕реЗ рд╕реАрдзреЗ рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.getFileToBuffer() - рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдлрд╝рд░ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.getFileToPath() - рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.getFileToBlob() - рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмреНрд▓реЙрдм рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП)
  • async рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.рд░рд┐рдореВрд╡рдлрд╝рд╛рдЗрд▓() - рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣рдЯрд╛рдПрдБ
  • рдХреНрд▓рд╛рдЗрдВрдЯ.рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк.createRequestedFileLink() - рдПрдХ рд╕реНрдердЧрд┐рдд рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ

рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ

рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдиреЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдмрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдкреВрд░реНрдг рд╕реНрдЯреЛрд░реЗрдЬ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред (рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)
  • рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рд▓реЗрдХрд┐рди, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдиреЛрдб.рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝рдлрд╝рд╛рдЗрд▓реНрд╕рдЗрдиреНрдлреЛ()рд╕рднреА рдбреЗрдЯрд╛ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░рдирд╛ рдФрд░ рдЙрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ред
  • рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ рдиреЛрдб.exportрдлрд╝рд╛рдЗрд▓реЗрдВ()рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред

рдореВрд▓ рдиреЛрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рд╕реНрдЯреЛрд░реЗрдЬ рдиреЛрдб рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛, рдмрд╛рдХреА рдЬреАрдердм рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  • рднрдВрдбрд╛рд░рдг.рдбреЗрдЯрд╛рдЖрдХрд╛рд░ -рдлрд╝рд╛рдЗрд▓реЛрдВ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЖрдХрд╛рд░
  • рднрдВрдбрд╛рд░рдг.tempSize - рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЖрдХрд╛рд░
  • рднрдВрдбрд╛рд░рдг.рдСрдЯреЛрдХреНрд▓реАрдирдЖрдХрд╛рд░ - рдиреНрдпреВрдирддрдо рднрдВрдбрд╛рд░рдг рдЖрдХрд╛рд░ рдЬрд┐рд╕реЗ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬреИрд╕реЗ рд╣реА рд╕реНрдерд╛рди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд▓рдЧреЗрдЧрд╛, рд╕рдмрд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдВрдЧреАред
  • рдлрд╝рд╛рдЗрд▓.рдЕрдзрд┐рдХрддрдордЖрдХрд╛рд░ - рдЕрдзрд┐рдХрддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░
  • рдлрд╝рд╛рдЗрд▓.minSize - рдиреНрдпреВрдирддрдо рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░
  • рдлрд╝рд╛рдЗрд▓.рдкрд╕рдВрджреАрджрд╛рдбреБрдкреНрд▓рд┐рдХреЗрдЯ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреА рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдЦреНрдпрд╛
  • рдлрд╝рд╛рдЗрд▓.рдорд╛рдЗрдорд╢реНрд╡реЗрддрд╕реВрдЪреА - рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░
  • рдлрд╝рд╛рдЗрд▓.рдорд╛рдЗрдордмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ - рдЕрдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд░
  • рдлрд╝рд╛рдЗрд▓.extрд╢реНрд╡реЗрддрд╕реВрдЪреА - рд╡реИрдз рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди
  • рдлрд╝рд╛рдЗрд▓.extрдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ -рдЕрдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди
  • рдлрд╝рд╛рдЗрд▓.рд▓рд┐рдВрдХ рдХреИрд╢ - рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдВрдХ рдХреИрд╢рд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рдЖрдпрд╛рдореЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрднрдЧ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░рдкреЗрдХреНрд╖ рдФрд░ рд╕рд╛рдкреЗрдХреНрд╖ рджреЛрдиреЛрдВ рдорд╛рдиреЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдПрдирдкреАрдПрдо рдЖрдИ-рдЬреА рд╕реНрдЯреЛрд░реЗрдХрд▓. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдиреЛрдб рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЛрд░реЗрдХрд▓ -рдП рд╕реНрдЯреЛрд░рдлрд╝рд╛рдЗрд▓ -рдПрдл ./рдлрд╝рд╛рдЗрд▓.txt -рд╕реА ./config.jsрдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП. рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдБ рдЗрд╕рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ https://github.com/ortexx/storacle/blob/master/bin/actions.js

рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдкрдбрд╝ рд╕рдХрддреА рд╣реИ?

  • рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдВрдЧреАрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рднрдгреНрдбрд╛рд░.
  • рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдирд╛ рдмрдВрдж рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдиреЛрдбреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдирдП рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
  • рдпрджрд┐ рдЖрдкрдХреЛ рдмрд╕ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд╣реАрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИред
  • рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рд╕рднреА рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рд╕рд░реНрд╡рд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ.

рдореЗрд░реЗ рд╕рдВрдкрд░реНрдХ:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ