рд╡реЗрджрдирд╛рд╢рд┐рд╡рд╛рдп IPFS (рдкрд░рдВрддреБ рд╣реЗ рдЕрдЪреВрдХ рдирд╛рд╣реА)

рд╡реЗрджрдирд╛рд╢рд┐рд╡рд╛рдп IPFS (рдкрд░рдВрддреБ рд╣реЗ рдЕрдЪреВрдХ рдирд╛рд╣реА)

Habr├й рдЖрдзреАрдЪ рд╣реЛрддреЗ рдХреА рдЕрд╕реВрдирд╣реА IPFS рдмрджреНрджрд▓ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд▓реЗрдЦ.

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

рдЬрд░ рддреБрдореНрд╣реА рдЖрдпрдкреАрдПрдлрдПрд╕ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рдЪреБрдХрд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рддреЗ рдпреЗрдереЗ рдХрд╛рд╣реА рддрдкрд╢реАрд▓рд╡рд╛рд░ рд▓рд┐рд╣рд┐рд▓реЗ рдЖрд╣реЗ: habr.com/en/post/314768

рд╕реЗрдЯрд┐рдВрдЧ

рдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╢реБрджреНрдзрддреЗрд╕рд╛рдареА, рдореА рддреЗ рддрд╛рдмрдбрддреЛрдм рдХрд╛рд╣реА рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╕рд▓реНрд▓рд╛ рджреЗрддреЛ, рдХрд╛рд░рдг рдЖрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рдореЛрдб рдЖрдгрд┐ рд░рд┐рдореЛрдЯрдордзреНрдпреЗ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рдХрд╛рд╣реА рддреНрд░реБрдЯреАрдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ. рдордЧ, рд╣рд╡реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдлрд╛рд░ рдХрд╛рд│ рдкрд╛рдбрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА, рдлрд╛рд░рд╕реЗ рдирд╛рд╣реА.

рдЧреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг
рдпреЗрдереЗ рд╡рд░реНрддрдорд╛рди рдЖрд╡реГрддреНрддреА рдкрд╣рд╛ golang.org/dl

рдЯреАрдк: рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рддреАрдиреЗ IPFS рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдЬреНрдпрд╛рдиреЗ рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЦрд╛рд▓реА рдЖрдореНрд╣реА рдорд╛рдКрдВрдЯрд┐рдВрдЧрдЪреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ рдлреНрдпреВрдЬ рдЖрдгрд┐ рд╕реВрдХреНрд╖реНрдорддрд╛ рдЖрд╣реЗрдд.

cd ~
curl -O https://dl.google.com/go/go1.12.9.linux-amd64.tar.gz
tar xvf go1.12.9.linux-amd64.tar.gz
sudo chown -R root:root ./go
sudo mv go /usr/local
rm go1.12.9.linux-amd64.tar.gz

рдордЧ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ (рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рдпреЗрдереЗ: golang.org/doc/code.html#GOPATH).

echo 'export GOPATH=$HOME/work' >> ~/.bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc

рддрдкрд╛рд╕рдд рдЖрд╣реЗ рдХреА рдЧреЛ рд╕реНрдерд╛рдкрд┐рдд рдЖрд╣реЗ

go version

рдЖрдпрдкреАрдПрдлрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

рдорд▓рд╛ рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рди рдкрджреНрдзрдд рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рдЖрд╡рдбрд▓реА ipfs рдЕрджреНрдпрддрди.

рдХрдорд╛рдВрдбрд╕рд╣ рддреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛

go get -v -u github.com/ipfs/ipfs-update

рддреНрдпрд╛рдирдВрддрд░, рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛:

ipfs-рдЕрдкрдбреЗрдЯ рдЖрд╡реГрддреНрддреНрдпрд╛ - рдбрд╛рдЙрдирд▓реЛрдбрд╕рд╛рдареА рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдЖрд╡реГрддреНрддреНрдпрд╛ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА.
ipfs-рдЕрдкрдбреЗрдЯ рдЖрд╡реГрддреНрддреА - рд╕рдзреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реА рдЖрд╡реГрддреНрддреА рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА (рдЖрдореНрд╣реА рдЖрдпрдкреАрдПрдлрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдкрд░реНрдпрдВрдд, рддреЗ рдХрд╛рд╣реАрд╣реА рдирд╕реЗрд▓).
ipfs-рдЕрджреНрдпрддрди рдирд╡реАрдирддрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛ - IPFS рдЪреА рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛. рдирд╡реАрдирддрдо рдРрд╡рдЬреА, рдЕрдиреБрдХреНрд░рдореЗ, рдЖрдкрдг рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪреАрдордзреВрди рдХреЛрдгрддреАрд╣реА рдЗрдЪреНрдЫрд┐рдд рдЖрд╡реГрддреНрддреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛.

ipfs рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ

ipfs-update install latest

рддрдкрд╛рд╕рдд рдЖрд╣реЗ

ipfs --version

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╕реНрдерд╛рдкрдиреЗрд╕рд╣ рдереЗрдЯ.

IPFS рд╕реБрд░реВ рдХрд░рд╛

рдЖрд░рдВрдн

рдкреНрд░рдердо рдЖрдкрдг рдкреНрд░рд╛рд░рдВрдн рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

ipfs init

рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдд, рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рдорд┐рд│реЗрд▓:

 ipfs init
initializing IPFS node at /home/USERNAME/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmeCWX1DD7HnXXXXXXXXXXXXXXXXXXXXXXXXxxx
to get started, enter:
	ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

рддреБрдореНрд╣реА рд╕реБрдЪрд╡рд▓реЗрд▓реА рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛

ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

рдкрд░рд┐рдгрд╛рдо

Hello and Welcome to IPFS!

тЦИтЦИтХЧтЦИтЦИтЦИтЦИтЦИтЦИтХЧ тЦИтЦИтЦИтЦИтЦИтЦИтЦИтХЧтЦИтЦИтЦИтЦИтЦИтЦИтЦИтХЧ
тЦИтЦИтХСтЦИтЦИтХФтХРтХРтЦИтЦИтХЧтЦИтЦИтХФтХРтХРтХРтХРтХЭтЦИтЦИтХФтХРтХРтХРтХРтХЭ
тЦИтЦИтХСтЦИтЦИтЦИтЦИтЦИтЦИтХФтХЭтЦИтЦИтЦИтЦИтЦИтХЧ  тЦИтЦИтЦИтЦИтЦИтЦИтЦИтХЧ
тЦИтЦИтХСтЦИтЦИтХФтХРтХРтХРтХЭ тЦИтЦИтХФтХРтХРтХЭ  тХЪтХРтХРтХРтХРтЦИтЦИтХС
тЦИтЦИтХСтЦИтЦИтХС     тЦИтЦИтХС     тЦИтЦИтЦИтЦИтЦИтЦИтЦИтХС
тХЪтХРтХЭтХЪтХРтХЭ     тХЪтХРтХЭ     тХЪтХРтХРтХРтХРтХРтХРтХЭ

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes

рдпреЗрдереЗ, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рдордиреЛрд░рдВрдЬрдХ рд╕реБрд░реВ рд╣реЛрддреЗ. рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реНрдЯреЗрдЬрд╡рд░реАрд▓ рдореБрд▓реЗ рдЖрдзреАрдЪ рддреНрдпрд╛рдВрдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рдд рдЖрд╣реЗрдд. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реЕрд╢ QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv рд╡рд┐рд╢реЗрд╖рддрдГ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд░рд┐рд▓реАрдЬрдордзреНрдпреЗ рд╢рд┐рд╡рд▓реЗрд▓рд╛ рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рд░рд┐рд▓реАрдЭ рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреНрдпрд╛рдВрдиреА рдПрдХ рд╕реНрд╡рд╛рдЧрдд рдордЬрдХреВрд░ рддрдпрд╛рд░ рдХреЗрд▓рд╛, рддреЛ рдЖрдпрдкреАрдПрдлрдПрд╕рдордзреНрдпреЗ рдУрддрд▓рд╛ рдЖрдгрд┐ рдЗрдВрд╕реНрдЯреЙрд▓рд░рд▓рд╛ рдкрддреНрддрд╛ рдЬреЛрдбрд▓рд╛. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреЗ рдЦреВрдк рдЫрд╛рди рдЖрд╣реЗ. рдЖрдгрд┐ рд╣реА рдлрд╛рдИрд▓ (рдЕрдзрд┐рдХ рддрдВрддреЛрддрдВрдд, рд╕рдВрдкреВрд░реНрдг рдлреЛрд▓реНрдбрд░) рдЖрддрд╛ рдХреЗрд╡рд│ рд╕реНрдерд╛рдирд┐рдХрдЪ рдирд╛рд╣реА рддрд░ рдЕрдзрд┐рдХреГрдд рдЧреЗрдЯрд╡реЗрд╡рд░ рджреЗрдЦреАрд▓ рдкрд╛рд╣рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЖрдкрдг рдЦрд╛рддреНрд░реА рдмрд╛рд│рдЧреВ рд╢рдХрддрд╛ рдХреА рдлреЛрд▓реНрдбрд░рдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░реЗ рдмрджрд▓рд▓реА рдирд╛рд╣реА, рдХрд╛рд░рдг рдЬрд░ рддреА рдмрджрд▓рд▓реА рдЕрд╕рддреА рддрд░ рд╣реЕрд╢ рджреЗрдЦреАрд▓ рдмрджрд▓рд▓рд╛ рдЕрд╕рддрд╛.

рддрд╕реЗ, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдпрдкреАрдПрдлрдПрд╕рдордзреНрдпреЗ рдЖрд╡реГрддреНрддреА рдирд┐рдпрдВрддреНрд░рдг рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдХрд╛рд╣реА рд╕рдорд╛рдирддрд╛ рдЖрд╣реЗрдд. рдЖрдкрдг рдлреЛрд▓реНрдбрд░рдЪреНрдпрд╛ рд╕реНрддреНрд░реЛрдд рдлрд╛рдпрд▓реАрдВрдордзреНрдпреЗ рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рдлреЛрд▓реНрдбрд░ рдЖрдпрдкреАрдПрдлрдПрд╕рдордзреНрдпреЗ рдУрддрд▓реНрдпрд╛рд╕, рддреНрдпрд╛рд╕ рдПрдХ рдирд╡реАрди рдкрддреНрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЬреБрдиреЗ рдлреЛрд▓реНрдбрд░ рдЕрд╕реЗ рдХреБрдареЗрд╣реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдЖрдзреАрдЪреНрдпрд╛ рдкрддреНрддреНрдпрд╛рд╡рд░ рдЙрдкрд▓рдмреНрдз рдЕрд╕реЗрд▓.

рдереЗрдЯ рдкреНрд░рдХреНрд╖реЗрдкрдг

ipfs daemon

рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдорд┐рд│рд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ:

ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.22-
Repo version: 7
System version: amd64/linux
Golang version: go1.12.7
Swarm listening on /ip4/x.x.x.x/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

рдЗрдВрдЯрд░рдиреЗрдЯрдЪреЗ рджрд░рд╡рд╛рдЬреЗ рдЙрдШрдбрдгреЗ

рдпрд╛ рджреЛрди рдУрд│реАрдВрдХрдбреЗ рд▓рдХреНрд╖ рджреНрдпрд╛:

WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

рдЖрддрд╛, рддреБрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ IPFS рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рдкрддреНрддреНрдпрд╛рдВрд╡рд░ IPFS рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рд╛рд▓ рдЖрдгрд┐ рд╕рд░реНрд╡рдХрд╛рд╣реА рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЕрд╕реЗрд▓ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, localhost:5001/webui/). рдкрд░рдВрддреБ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реНрдпрд╛рд╡рд░, рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдЧреЗрдЯрд╡реЗ рдЗрдВрдЯрд░рдиреЗрдЯрд╕рд╛рдареА рдмрдВрдж рдЕрд╕рддрд╛рдд. рдЧреЗрдЯрд╡реЗ рджреЛрди:

  1. webui рдкреНрд░рд╢рд╛рд╕рдХ (github) рдкреЛрд░реНрдЯ 5001 рд╡рд░.
  2. рдкреЛрд░реНрдЯ 8080 рд╡рд░ рдмрд╛рд╣реНрдп API (рдХреЗрд╡рд│ рд╡рд╛рдЪрдиреАрдп).

рдЖрддрд╛рдкрд░реНрдпрдВрдд, рджреЛрдиреНрд╣реА рдкреЛрд░реНрдЯ (5001 рдЖрдгрд┐ 8080) рдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╛рдареА рдЙрдШрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рд▓рдврд╛рдК рд╕рд░реНрд╡реНрд╣рд░рд╡рд░, рдЕрд░реНрдерд╛рддрдЪ, рдкреЛрд░реНрдЯ 5001 рдлрд╛рдпрд░рд╡реЙрд▓рд╕рд╣ рдмрдВрдж рдХреЗрд▓реЗ рдЬрд╛рд╡реЗ. рдкреЛрд░реНрдЯ 4001 рджреЗрдЦреАрд▓ рдЖрд╣реЗ, рдЬреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдЗрддрд░ рд╕рдорд╡рдпрд╕реНрдХ рддреБрдореНрд╣рд╛рд▓рд╛ рд╢реЛрдзреВ рд╢рдХрддреАрд▓. рддреЗ рдмрд╛рд╣реЗрд░реАрд▓ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рдЦреБрд▓реЗ рд╕реЛрдбрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рд╕рдВрдкрд╛рджрдирд╛рд╕рд╛рдареА ~/.ipfs/config рдЙрдШрдбрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдд рдпрд╛ рдУрд│реА рд╢реЛрдзрд╛:

"Addresses": {
  "Swarm": [
    "/ip4/0.0.0.0/tcp/4001",
    "/ip6/::/tcp/4001"
  ],
  "Announce": [],
  "NoAnnounce": [],
  "API": "/ip4/127.0.0.1/tcp/5001",
  "Gateway": "/ip4/127.0.0.1/tcp/8080"
}

рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ ip рдордзреНрдпреЗ 127.0.0.1 рдмрджрд▓рд╛ рдЖрдгрд┐ рдлрд╛рдЗрд▓ рд╕реЗрд╡реНрд╣ рдХрд░рд╛, рдирдВрддрд░ ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛ (Ctrl+C рд╕рд╣ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реА рдХрдорд╛рдВрдб рдерд╛рдВрдмрд╡рд╛ рдЖрдгрд┐ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рд╛).

рдорд┐рд│рд╛рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ

...
WebUI: http://ip_╨▓╨░╤И╨╡╨│╨╛_╤Б╨╡╤А╨▓╨╡╤А╨░:5001/webui
Gateway (readonly) server listening on /ip4/ip_╨▓╨░╤И╨╡╨│╨╛_╤Б╨╡╤А╨▓╨╡╤А╨░/tcp/8080

рдЖрддрд╛ рдмрд╛рд╣реНрдп рдЗрдВрдЯрд░рдлреЗрд╕ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд╛рд╡реЗрдд.

рддрдкрд╛рд╕рд╛

http://╨┤╨╛╨╝╨╡╨╜_╨╕╨╗╨╕_ip_╤Б╨╡╤А╨▓╨╡╤А╨░:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

рд╡рд░реАрд▓ рд░реАрдбрдореА рдлрд╛рдИрд▓ рдЙрдШрдбрд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

http://╨┤╨╛╨╝╨╡╨╜_╨╕╨╗╨╕_ip_╤Б╨╡╤А╨▓╨╡╤А╨░:5001/webui/

рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдЙрдШрдбрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.

рдЬрд░ webui рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ рддреНрдпрд╛рдд рдЖрдХрдбреЗрд╡рд╛рд░реА рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╣, IPFS рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдереЗрдЯ рдмрджрд▓рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдкрд░рдВрддреБ рдЦрд╛рд▓реА рдореА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдВрдЪрд╛ рдереЗрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рджреНрд╡рд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрди, рдЬреЗ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдЧрдВрднреАрд░ рдирд╕рддреЗ. рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреБрдареЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдХрд╛рдп рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдЕрдиреНрдпрдерд╛ рд╡реЗрдм рдлреЗрд╕ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╕рд▓реНрдпрд╛рд╕, рддреЗ рдЕрдзрд┐рдХ рдХрдареАрдг рд╣реЛрдИрд▓.

рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдпреЗрдереЗ рдкрд╣рд┐рд▓рд╛ рдЦрдбреНрдбрд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рд▓рд╛ рд╕реБрдорд╛рд░реЗ рддреАрди рддрд╛рд╕ рд▓рд╛рдЧрд▓реЗ.

рдЬрд░ рддреБрдореНрд╣реА рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрдпрдкреАрдПрдлрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рдкрд░рдВрддреБ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдЖрдпрдкреАрдПрдлрдПрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдВрд╡рд╛ рдЪрд╛рд▓рд╡рд▓реЗ рдирд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ /webui рд╡рд░ рдЬрд╛рддрд╛ рддреЗрд╡реНрд╣рд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯреА рджрд┐рд╕реЗрд▓:

рд╡реЗрджрдирд╛рд╢рд┐рд╡рд╛рдп IPFS (рдкрд░рдВрддреБ рд╣реЗ рдЕрдЪреВрдХ рдирд╛рд╣реА)

рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рд╡реЗрдмрдИ, рдорд╛рдЭреНрдпрд╛ рдорддреЗ, рдЕрддрд┐рд╢рдп рд╕рдВрджрд┐рдЧреНрдзрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдкреНрд░рдердо, рддреЗ рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ API рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ рдЬреЗрдереЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдЙрдШрдбрд▓рд╛ рдЖрд╣реЗ (рдЕрд░реНрдерд╛рддрдЪ рдмреНрд░рд╛рдЙрдЭрд░рдордзреАрд▓ рдкрддреНрддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд). рдЖрдгрд┐ рдЬрд░ рддреЗ рддрд┐рдереЗ рдХрд╛рдо рдХрд░рдд рдирд╕реЗрд▓, рддрд░ рддреЗ рд╕реНрдерд╛рдирд┐рдХ рдЧреЗрдЯрд╡реЗрд╢реА рдЬреЛрдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЗ. рдЖрдгрд┐ рдЬрд░ рддреБрдордЪрд╛ IPFS рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдЪрд╛рд▓рдд рдЕрд╕реЗрд▓, рддрд░ webui рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рдо рдХрд░реЗрд▓, рдлрдХреНрдд рддреБрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ IPFS рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рд╛рд▓, рдмрд╛рд╣реНрдп рдирд╛рд╣реА, рдЬрд░реА рддреБрдореНрд╣реА рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ webui рдЙрдШрдбрд▓реЗ рдЕрд╕реЗрд▓. рдордЧ рддреБрдореНрд╣реА рдлрд╛рдЗрд▓реНрд╕ рдЕрдкрд▓реЛрдб рдХрд░рд╛рд▓, рдкрдг рдХрд╛рд╣реА рдХрд╛рд░рдгрд╛рд╕реНрддрд╡ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рджрд┐рд╕рдд рдирд╛рд╣реАрддтАж

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

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["http://ip_╨▓╨░╤И╨╡╨│╨╛ ╤Б╨╡╤А╨▓╨╡╤А╨░:5001", "http://127.0.0.1:5001", "https://webui.ipfs.io"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST"]'

рдореА рдиреБрдХрддреЗрдЪ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдиреЛрдВрджрд╡рд▓реЗ рдЖрд╣реЗ

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

рдЬреЛрдбрд▓реЗрд▓реЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕рдорд╛рди ~/.ipfs/config рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд. рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд рддреЗ рдЖрд╣реЗ

  "API": {
    "HTTPHeaders": {
      "Access-Control-Allow-Origin": [
        "*"
      ]
    }
  },

рдЖрдореНрд╣реА ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рдЖрдореНрд╣реА рдкрд╛рд╣рддреЛ рдХреА webui рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдХрдиреЗрдХреНрдЯ рдЭрд╛рд▓реЗ рдЖрд╣реЗ (рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рд╡рд░ рд╡рд░реНрдгрди рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рддреБрдореНрд╣реА рдмрд╛рд╣реЗрд░реВрди рдЖрд▓реЗрд▓реНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рдЧреЗрдЯрд╡реЗ рдЙрдШрдбрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕).

рдЖрддрд╛ рддреБрдореНрд╣реА рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдереЗрдЯ рдлреЛрд▓реНрдбрд░ рдЖрдгрд┐ рдлрд╛рдЗрд▓реНрд╕ рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛, рддрд╕реЗрдЪ рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рдлреЛрд▓реНрдбрд░ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛.

FUSE рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдорд╛рдЙрдВрдЯ рдХрд░рдгреЗ

рдпреЗрдереЗ рдПрдХ рдЕрддрд┐рд╢рдп рдордиреЛрд░рдВрдЬрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ.

рдлрд╛рдпрд▓реА (рддрд╕реЗрдЪ рдлреЛрд▓реНрдбрд░реНрд╕), рдЖрдореНрд╣реА рдХреЗрд╡рд│ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗрдЪ рдирд╡реНрд╣реЗ рддрд░ рдереЗрдЯ рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдЬреЛрдбреВ рд╢рдХрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде

ipfs add test -r
added QmfYuz2gegRZNkDUDVLNa5DXzKmxxxxxxxxxx test/test.txt
added QmbnzgRVAP4fL814h5mQttyqk1aURxxxxxxxxxxxx test

рд╢реЗрд╡рдЯрдЪрд╛ рд╣реЕрд╢ рд░реВрдЯ рдлреЛрд▓реНрдбрд░рдЪрд╛ рд╣реЕрд╢ рдЖрд╣реЗ.

рдпрд╛ рд╣реЕрд╢рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдЖрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛рд╣реА ipfs рдиреЛрдбрд╡рд░ рдПрдХ рдлреЛрд▓реНрдбрд░ рдЙрдШрдбреВ рд╢рдХрддреЛ (рдЬреЛ рдЖрдордЪрд╛ рдиреЛрдб рд╢реЛрдзреВ рд╢рдХрддреЛ рдЖрдгрд┐ рд╕рд╛рдордЧреНрд░реА рдорд┐рд│рд╡реВ рд╢рдХрддреЛ), рдЖрдореНрд╣реА рдкреЛрд░реНрдЯ 5001 рдХрд┐рдВрд╡рд╛ 8080 рд╡рд░реАрд▓ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рдЖрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ ipfs рджреНрд╡рд╛рд░реЗ рдХрд░реВ рд╢рдХрддреЛ.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

рдкрдг рддрд░реАрд╣реА рддреБрдореНрд╣реА рддреЗ рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдлреЛрд▓реНрдбрд░рдкреНрд░рдорд╛рдгреЗ рдЙрдШрдбреВ рд╢рдХрддрд╛.

рдЪрд▓рд╛ рд░реВрдЯрд╡рд░ рджреЛрди рдлреЛрд▓реНрдбрд░реНрд╕ рддрдпрд╛рд░ рдХрд░реВ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреЗ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдК.

sudo mkdir /ipfs /ipns
sudo chown USERNAME /ipfs /ipns

рдЖрдгрд┐ --mount рдзреНрд╡рдЬрд╛рд╕рд╣ ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛

ipfs daemon --mount

рддреБрдореНрд╣реА рдЗрддрд░ рдард┐рдХрд╛рдгреА рдлреЛрд▓реНрдбрд░ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ ipfs рдбрд┐рдорди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ -mount -mount-ipfs /ipfs_path -mount-ipns /ipns_path рджреНрд╡рд╛рд░реЗ рддреНрдпрд╛рдВрдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛.

рдЖрддрд╛ рдпрд╛ рдлреЛрд▓реНрдбрд░рдордзреВрди рд╡рд╛рдЪрдгреЗ рдХрд╛рд╣реАрд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ.

ls -la /ipfs
ls: reading directory '/ipfs': Operation not permitted
total 0

рдореНрд╣рдгрдЬреЗрдЪ, рдпрд╛ рдлреЛрд▓реНрдбрд░рдЪреНрдпрд╛ рд░реВрдЯрд╡рд░ рдереЗрдЯ рдкреНрд░рд╡реЗрд╢ рдирд╛рд╣реА. рдкрд░рдВрддреБ рд╣реЕрд╢ рдЬрд╛рдгреВрди рдШреЗрдКрди рддреБрдореНрд╣реА рд╕рд╛рдордЧреНрд░реА рдорд┐рд│рд╡реВ рд╢рдХрддрд╛.

ls -la /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx
total 0
-r--r--r-- 1 root root 10 Aug 31 07:03 test.txt

cat /ipfs/QmbnzgRVAP4fL814h5mQttyqxxxxxxxxxxxxxxxxx/test.txt 
test
test

рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реНрдпрд╛рд╡рд░ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рд╕реНрд╡рдпрдВ-рдкреВрд░реНрдгрддрд╛ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдореА рд╡рд░ рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЕрд╢рд╛ рдорд╛рдЙрдВрдЯрд┐рдВрдЧрдордзреНрдпреЗ рд╕реВрдХреНрд╖реНрдорддрд╛ рдЖрд╣реЗрдд: рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдЖрд░реЛрд╣рд┐рдд FUSE рдлреЛрд▓реНрдбрд░ рдХреЗрд╡рд│ рд╡рд░реНрддрдорд╛рди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд (рдЕрдЧрджреА рд░реВрдЯ рдЕрд╢рд╛ рдлреЛрд▓реНрдбрд░рдордзреВрди рд╡рд╛рдЪреВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА, рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдЗрддрд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА). рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдлреЛрд▓реНрдбрд░реНрд╕ рдЗрддрд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреНрдпрд╛рдпрдЪреЗ рдЕрд╕рддреАрд▓, рддрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рддреБрдореНрд╣рд╛рд▓рд╛ "FuseAllowOther" рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: false рддреЗ "FuseAllowOther": true. рдкрдг рдПрд╡рдвреЗрдЪ рдирд╛рд╣реА. рддреБрдореНрд╣реА рдЖрдпрдкреАрдПрдлрдПрд╕ рд░реВрдЯ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рд╕, рд╕рд░реНрд╡рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рдЬрд░ рдирд┐рдпрдорд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рддреАрдиреЗ (рд╕реБрдбреЛ рджреЗрдЦреАрд▓), рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рддреНрд░реБрдЯреА рдорд┐рд│реЗрд▓

mount helper error: fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреБрдореНрд╣рд╛рд▓рд╛ #user_allow_other рдУрд│ рдЕрдирдХрдореЗрдВрдЯ рдХрд░реВрди /etc/fuse.conf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рддреНрдпрд╛рдирдВрддрд░, ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛.

FUSE рд╕рд╣ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛

рд╕рдорд╕реНрдпрд╛ рдПрдХрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рд╡реЗрд│рд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реА рдЖрд╣реЗ рдХреА рдорд╛рдЙрдВрдЯрд┐рдВрдЧрд╕рд╣ ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ (рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рдЗрддрд░ рдмрд╛рдмрддреАрдд), /ipfs рдЖрдгрд┐ /ipns рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрддрд╛рдд. рддреНрдпрд╛рдВрдирд╛ рдкреНрд░рд╡реЗрд╢ рдирд╛рд╣реА, рдЖрдгрд┐ ls -la /ipfs рджрд╛рдЦрд╡рддреЗ ???? рдЕрдзрд┐рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рдпрд╛рджреАрдд.

рд╣рд╛ рдЙрдкрд╛рдп рд╕рд╛рдкрдбрд▓рд╛:

fusermount -z -u /ipfs
fusermount -z -u /ipns

рдирдВрддрд░ ipfs рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛.

рд╕реЗрд╡рд╛ рдЬреЛрдбрдд рдЖрд╣реЗ

рдЕрд░реНрдерд╛рдд, рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рдзрд╛рд╡рдгреЗ рдХреЗрд╡рд│ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд╛рдЪрдгреНрдпрд╛рдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдХреЙрдореНрдмреЕрдЯ рдореЛрдбрдордзреНрдпреЗ, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░ рдбрд┐рдорди рдЖрдкреЛрдЖрдк рд╕реБрд░реВ рдЭрд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.

sudo рдЪреНрдпрд╛ рд╡рддреАрдиреЗ, рдлрд╛рдЗрд▓ /etc/systemd/system/ipfs.service рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░ рд▓рд┐рд╣рд╛:

[Unit]
Description=IPFS Daemon
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/home/USERNAME/work/bin/ipfs daemon --mount
User=USERNAME
Restart=always

[Install]
WantedBy=multi-user.target

USERNAME, рдЕрд░реНрдерд╛рддрдЪ, рддреБрдордЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рдмрджрд▓рд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЖрдгрд┐ рдХрджрд╛рдЪрд┐рдд рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА ipfs рдкреНрд░реЛрдЧреНрд░рд╛рдордЪрд╛ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧ рд╡реЗрдЧрд│рд╛ рдЕрд╕реЗрд▓ (рддреБрдореНрд╣реА рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ)).

рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЛ.

sudo systemctl enable ipfs.service

рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рд╕реБрд░реВ рдХрд░рддреЛ.

sudo service ipfs start

рд╕реЗрд╡реЗрдЪреА рд╕реНрдерд┐рддреА рддрдкрд╛рд╕рдд рдЖрд╣реЗ.

sudo service ipfs status

рдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╢реБрджреНрдзрддреЗрд╕рд╛рдареА, ipfs рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдпрд╢рд╕реНрд╡реАрдкрдгреЗ рд╕реБрд░реВ рд╣реЛрддреЗ рд╣реЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рднрд╡рд┐рд╖реНрдпрд╛рдд рд╕рд░реНрд╡реНрд╣рд░ рд░реАрдмреВрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓.

рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдЬреНрдЮрд╛рдд рдореЗрдЬрд╡рд╛рдиреА рдЬреЛрдбрдгреЗ

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рджреЛрдиреНрд╣реА рдард┐рдХрд╛рдгреА рдЖрдпрдкреАрдПрдлрдПрд╕ рдиреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдЖрд╣реЗрдд рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛. рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рд╡рд░, рдЖрдореНрд╣реА рдХрд╛рд╣реА рдлрд╛рдЗрд▓ рдЬреЛрдбрддреЛ рдЖрдгрд┐ рддреА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ CID рджреНрд╡рд╛рд░реЗ IPFS рджреНрд╡рд╛рд░реЗ рдорд┐рд│рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ. рдХрд╛рдп рд╣реЛрдИрд▓? рдЕрд░реНрдерд╛рдд, рд╕реНрдерд╛рдирд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдмрд╣реБрдзрд╛ рдЖрдордЪреНрдпрд╛ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рдмрджреНрджрд▓ рдХрд╛рд╣реАрд╣реА рдорд╛рд╣рд┐рддреА рдирд╕рддреЗ рдЖрдгрд┐ рд╕реАрдЖрдпрдбреА рджреНрд╡рд╛рд░реЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдЖрдпрдкреАрдПрдлрдПрд╕ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ "рд╡рд┐рдЪрд╛рд░реВрди" рдлрд╛рдЗрд▓ рд╢реЛрдзрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрд▓ (рдЬреНрдпрд╛рд╢реА рддреЛ рдЖрдзреАрдЪ "рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдгреНрдпрд╛рд╕" рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдЭрд╛рд▓рд╛ рдЖрд╣реЗ). рддреНрдпрд╛ рдмрджрд▓реНрдпрд╛рдд рдЗрддрд░рд╛рдВрдирд╛ рд╡рд┐рдЪрд╛рд░рддреАрд▓. рдЖрдгрд┐ рдЕрд╕реЗрдЪ, рдлрд╛рдЗрд▓ рд╕рд╛рдкрдбреЗрдкрд░реНрдпрдВрдд. рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдЬреЗрд╡реНрд╣рд╛ рдЖрдкрдг рдЕрдзрд┐рдХреГрдд рдЧреЗрдЯрд╡реЗрджреНрд╡рд╛рд░реЗ рдлрд╛рдЗрд▓ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рдЕрд╕реЗрдЪ рдШрдбрддреЗ ipfs.io. рдЖрдкрдг рднрд╛рдЧреНрдпрд╡рд╛рди рдЕрд╕рд▓реНрдпрд╛рд╕, рдлрд╛рдЗрд▓ рдХрд╛рд╣реА рд╕реЗрдХрдВрджрд╛рдд рд╕рд╛рдкрдбреЗрд▓. рдЖрдгрд┐ рдирд╕рд▓реНрдпрд╛рд╕, рдХрд╛рд╣реА рдорд┐рдирд┐рдЯрд╛рдВрддрд╣реА рддреЗ рд╕рд╛рдкрдбрдгрд╛рд░ рдирд╛рд╣реА, рдЬреЗ рдХрд╛рдорд╛рдЪреНрдпрд╛ рдЖрд░рд╛рдорд╛рд╡рд░ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдкрд░рд┐рдгрд╛рдо рдХрд░рддреЗ. рдкрдг рд╣реА рдлрд╛рдИрд▓ рдкреНрд░рдердо рдХреБрдареЗ рджрд┐рд╕реЗрд▓ рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣реАрдд рдЖрд╣реЗ. рдордЧ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ "рдЖрдзреА рддрд┐рдереЗ рд╢реЛрдзрд╛" рдЕрд╕реЗ рдХрд╛ рд╕рд╛рдВрдЧрдд рдирд╛рд╣реА? рд╡рд░рд╡рд░ рдкрд╛рд╣рддрд╛, рд╣реЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

1. рдЖрдореНрд╣реА рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЬрд╛рддреЛ рдЖрдгрд┐ ~/.ipfs/config рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдкрд╛рд╣рддреЛ

"Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuxxxxxxxxxxxxxxxx",

2. sudo рд╕реЗрд╡рд╛ ipfs рд╕реНрдерд┐рддреА рдЪрд╛рд▓рд╡рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдд рдЭреБрдВрдб рдиреЛрдВрджреА рдкрд╣рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:

Swarm announcing /ip4/ip_╨▓╨░╤И╨╡╨│╨╛_╤Б╨╡╤А╨▓╨╡╤А╨░/tcp/4001

3. рдЖрдореНрд╣реА рдпрд╛рдордзреВрди "/ip4/ip_your_server/tcp/4001/ipfs/$PeerID" рдлреЙрд░реНрдордЪрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкрддреНрддрд╛ рдЬреЛрдбрддреЛ.

4. рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддреЗрд╕рд╛рдареА, рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ webui рджреНрд╡рд╛рд░реЗ рд╣рд╛ рдкрддреНрддрд╛ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ.

рд╡реЗрджрдирд╛рд╢рд┐рд╡рд╛рдп IPFS (рдкрд░рдВрддреБ рд╣реЗ рдЕрдЪреВрдХ рдирд╛рд╣реА)

5. рд╕рд░реНрд╡рдХрд╛рд╣реА рдареАрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕реНрдерд╛рдирд┐рдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди ~ / .ipfs / config рдЙрдШрдбрд╛, рддреНрдпрд╛рдд "рдмреВрдЯрд╕реНрдЯреНрд░реЕрдк" рд╢реЛрдзрд╛: [...
рдЖрдгрд┐ рдЕреЕрд░реЗрдордзреНрдпреЗ рдкреНрд░рдердо рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рдкрддреНрддрд╛ рдЬреЛрдбрд╛.

IPFS рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛.

рдЖрддрд╛ рдмрд╛рд╣реНрдп рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рдЬреЛрдбреВ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛. рд╡реЗрдЧрд╛рдиреЗ рдЙрдбреНрдбрд╛рдг рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рдкрд░рдВрддреБ рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрджреНрдпрд╛рдк рд╕реНрдерд┐рд░ рдирд╛рд╣реА. рдорд╛рдЭреНрдпрд╛ рд╕рдордЬрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЬрд░реА рдЖрдореНрд╣реА рдмреВрдЯрд╕реНрдЯреНрд░реЕрдкрдордзреНрдпреЗ рдкреАрдЕрд░рдЪрд╛ рдкрддреНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЕрд╕рд▓рд╛ рддрд░реАрд╣реА, ipfs рдСрдкрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрд╢реА рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рдирдЪреА рд╕реВрдЪреА рдмрджрд▓рддреЗ. рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рдХрд╛рдпрдорд╕реНрд╡рд░реВрдкреА рдореЗрдЬрд╡рд╛рдиреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддреЗрдмрджреНрджрд▓ рдпрд╛ рдЖрдгрд┐ рд╢реБрднреЗрдЪреНрдЫрд╛рдВрдЪреА рдЪрд░реНрдЪрд╛ рд╕реБрд░реВ рдЖрд╣реЗ. рдпреЗрдереЗ рдЖрдгрд┐ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдкрд╛рд╣рд┐рдЬреЗ рдордзреНрдпреЗ рдХрд╛рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╛ [рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]+

рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреА рдпрд╛рджреА рд╡реЗрдмрдИ рдЖрдгрд┐ рдЯрд░реНрдорд┐рдирд▓ рджреЛрдиреНрд╣реАрдордзреНрдпреЗ рдкрд╛рд╣рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

ipfs swarm peers

рдЖрдгрд┐ рдЗрдереЗ рдЖрдгрд┐ рддрд┐рдереЗ рддреБрдореНрд╣реА рддреБрдордЪреА рдореЗрдЬрд╡рд╛рдиреА рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдЬреЛрдбреВ рд╢рдХрддрд╛.

ipfs swarm connect "/ip4/ip_╨▓╨░╤И╨╡╨│╨╛_╤Б╨╡╤А╨▓╨╡╤А╨░/tcp/4001/ipfs/$PeerID"

рдЬреЛрдкрд░реНрдпрдВрдд рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реБрдзрд╛рд░рд▓реА рдЬрд╛рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд, рдЖрдкрдг рдЗрдЪреНрдЫрд┐рдд рдкреАрдЕрд░рд╢реА рдХрдиреЗрдХреНрд╢рди рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдирд╕рд▓реНрдпрд╛рд╕, рдХрдиреЗрдХреНрд╢рди рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзрди рд▓рд┐рд╣реВ рд╢рдХрддрд╛.

рддрд░реНрдХ

рдЖрдпрдкреАрдПрдлрдПрд╕рд╢реА рдЖрдзреАрдЪ рдкрд░рд┐рдЪрд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрдордзреНрдпреЗ, рдЖрдпрдкреАрдПрдлрдПрд╕рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдЖрдгрд┐ рд╡рд┐рд░реБрджреНрдз рджреЛрдиреНрд╣реА рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЖрд╣реЗрдд. рдореБрд│рд╛рдд рдХрд╛рд▓ рдЪрд░реНрдЪрд╛ рдЖрдгрд┐ рдорд▓рд╛ рдкреБрдиреНрд╣рд╛ рдЖрдпрдкреАрдПрдлрдПрд╕рдордзреНрдпреЗ рдЬрд╛рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ. рдЖрдгрд┐ рд╡рд░ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЪрд░реНрдЪреЗрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд: рдореА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрдд рдирд╛рд╣реА рдХреА рдЬреНрдпрд╛рдВрдиреА рдмреЛрд▓рд▓реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рд▓рд╛ рдореА рдард╛рдордкрдгреЗ рд╡рд┐рд░реЛрдз рдХрд░рддреЛ (рдореА рдлрдХреНрдд рджреАрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЖрдпрдкреАрдПрдлрдПрд╕ рд╡рд╛рдкрд░рддреЛ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрд╢реА рдЕрд╕рд╣рдордд рдЖрд╣реЗ). рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рджреЛрдШреЗрд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдиреЗ рдмрд░реЛрдмрд░ рдЖрд╣реЗрдд (рд╡рд┐рд╢реЗрд╖рддрдГ рдЪреЗрдХрдмрджреНрджрд▓ рдЯрд┐рдкреНрдкрдгреА рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рд╛рдпрд▓рд╛ рд▓рд╛рд╡рддреЗ). рдкрдг рдЬрд░ рдЖрдкрдг рдиреИрддрд┐рдХ рдЖрдгрд┐ рдХрд╛рдпрджреЗрд╢реАрд░ рдореВрд▓реНрдпрдорд╛рдкрди рдирд╛рдХрд╛рд░рд▓реЗ рддрд░ рдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреЗ рддрд╛рдВрддреНрд░рд┐рдХ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЛрдг рджреЗрдИрд▓? рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛, рдорд▓рд╛ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреА рдЖрдВрддрд░рд┐рдХ рднрд╛рд╡рдирд╛ рдЖрд╣реЗ рдХреА "рд╣реЗ рдирд┐рдГрд╕рдВрджрд┐рдЧреНрдзрдкрдгреЗ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рддреНрдпрд╛рдЪреНрдпрд╛ рдХрд╛рд╣реА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗрдд." рдкрдг рдиреЗрдордХреЗ рдХрд╛, рдпрд╛рдЪреЗ рдХреЛрдгрддреЗрд╣реА рд╕реНрдкрд╖реНрдЯ рд╕реВрддреНрд░ рдирд╛рд╣реА. рдЬрд╕реЗ рдХреА, рддреБрдореНрд╣реА рд╡рд┐рджреНрдпрдорд╛рди рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рд╛рдзрдиреЗ рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╕, рддреЗ рдЕрдиреЗрдХ рдмрд╛рдмрддреАрдд рдЦреВрдк рдкреБрдвреЗ рдЖрд╣реЗрдд (рд╕реНрдерд┐рд░рддрд╛, рдЧрддреА, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреНрд╖рдорддрд╛ рдЗ.). рддрд░реАрд╕реБрджреНрдзрд╛, рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдЖрд╣реЗ рдЬреЛ рдЕрд░реНрдердкреВрд░реНрдг рд╡рд╛рдЯрддреЛ рдЖрдгрд┐ рдЬреЛ рдЕрд╢рд╛ рд╡рд┐рдХреЗрдВрджреНрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдВрд╢рд┐рд╡рд╛рдп рдХреНрд╡рдЪрд┐рддрдЪ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЕрд░реНрдерд╛рдд, рдореА рдЦреВрдк рдХрдареАрдг рдЖрд╣реЗ, рдкрд░рдВрддреБ рдореА рддреЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддрдпрд╛рд░ рдХрд░реЗрди: рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рдорд╛рд╣рд┐рддреА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреЗ рддрддреНрддреНрд╡ рдмрджрд▓рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

рдорд▓рд╛ рд╕рдордЬрд╛рд╡реВрди рд╕рд╛рдВрдЧрд╛. рдЖрдкрдг рдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓реНрдпрд╛рд╕, рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рддрддреНрддреНрд╡рд╛рдиреБрд╕рд╛рд░ рд╡рд┐рддрд░реАрдд рдХреЗрд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ "рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рдореА рдЬреНрдпрд╛рд▓рд╛ рддреЗ рджрд┐рд▓реЗ рдЖрд╣реЗ рддреЛ рддреНрдпрд╛рдЪреЗ рд░рдХреНрд╖рдг рдХрд░реЗрд▓ рдЖрдгрд┐ рдЬреНрдпрд╛рдВрдирд╛ рддреЗ рдЕрднрд┐рдкреНрд░реЗрдд рдирд╡реНрд╣рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреВрди рддреА рдЧрдорд╛рд╡рд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА." рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди, рд╡рд┐рд╡рд┐рдз рдореЗрд▓ рд╕реЗрд╡рд╛, рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдЗрддреНрдпрд╛рджреАрдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рдЖрдгрд┐ рдЖрдкрдг рдХрд╛рдп рд╕рдВрдкрд╡рддреЛ? Habr├й рд╣рдм рд╡рд░ рдорд╛рд╣рд┐рддреА рд╕реБрд░рдХреНрд╖рд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдУрд│реАрд╡рд░ рдЖрд╣реЗ рдЖрдгрд┐ рдЬрд╡рд│рдЬрд╡рд│ рджрд░рд░реЛрдЬ рдЖрдореНрд╣рд╛рд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдЬрд╛рдЧрддрд┐рдХ рдЧрд│рддреАрдмрджреНрджрд▓ рдмрд╛рддрдореНрдпрд╛ рдорд┐рд│рддрд╛рдд. рддрддреНрд╡рддрдГ, рд╕рд░реНрд╡ рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рдЧреЛрд╖реНрдЯреА <irony> рдЕрджреНрднреБрдд рдордзреНрдпреЗ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд рд▓реЗрдЦ рдЙрдиреНрд╣рд╛рд│рд╛ рдЬрд╡рд│рдкрд╛рд╕ рд╕рдВрдкрдд рдЖрд▓рд╛ рдЖрд╣реЗ. рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддрд╛рд╣реА рдЕрдирд▓реАрдХ рдбреЗрдЯрд╛ рд╢рд┐рд▓реНрд▓рдХ рдирд╛рд╣реА. рдореНрд╣рдгрдЬреЗрдЪ, рдореБрдЦреНрдп рдЗрдВрдЯрд░рдиреЗрдЯ рджрд┐рдЧреНрдЧрдЬ рдореЛрдареЗ рд╣реЛрдд рдЖрд╣реЗрдд, рддреЗ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдЬрдорд╛ рдХрд░рдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдЕрд╢рд╛ рдЧрд│рддреА рдореНрд╣рдгрдЬреЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреА рдорд╛рд╣рд┐рддреА рдЕрдгреБ рд╕реНрдлреЛрдЯ рдЖрд╣реЗрдд. рд╣реЗ рдкреВрд░реНрд╡реА рдХрдзреАрдЪ рдШрдбрд▓реЗ рдирд╡реНрд╣рддреЗ рдЖрдгрд┐ рддреЗ рдкреБрдиреНрд╣рд╛ рдпреЗрдереЗ рдЖрд╣реЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЬрд░реА рдЕрдиреЗрдХрд╛рдВрдирд╛ рд╣реЗ рд╕рдордЬрд▓реЗ рдХреА рдЬреЛрдЦреАрдо рдЖрд╣реЗрдд, рддрд░реАрд╣реА рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рддреГрддреАрдп-рдкрдХреНрд╖ рдХрдВрдкрдиреНрдпрд╛рдВрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рддреАрд▓. рдкреНрд░рдердо, рдлрд╛рд░рд╕рд╛ рдкрд░реНрдпрд╛рдп рдирд╛рд╣реА, рдЖрдгрд┐ рджреБрд╕рд░реЗ рдореНрд╣рдгрдЬреЗ, рддреНрдпрд╛рдВрдиреА рд╡рдЪрди рджрд┐рд▓реЗ рдХреА рддреНрдпрд╛рдВрдиреА рд╕рд░реНрд╡ рдЫрд┐рджреНрд░ рдкрд╛рдбрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рд╣реЗ рдкреБрдиреНрд╣рд╛ рдХрдзреАрд╣реА рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рдорд▓рд╛ рдХреЛрдгрддрд╛ рдкрд░реНрдпрд╛рдп рджрд┐рд╕рддреЛ? рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдбреЗрдЯрд╛ рдЦреБрд▓реЗрдкрдгрд╛рдиреЗ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдореЛрдХрд│реЗрдкрдгрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдирд╛рд╣реА рдХреА рд╕рд░реНрд╡рдХрд╛рд╣реА рд╡рд╛рдЪрдгреНрдпрд╛рд╕ рд╕реЛрдкреЗ рдЕрд╕рд╛рд╡реЗ. рдореА рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреБрд╢рдирдЪреНрдпрд╛ рдореЛрдХрд│реЗрдкрдгрд╛рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╡рд╛рдЪрдирд╛рдд рд╕рдВрдкреВрд░реНрдг рдореЛрдХрд│реЗрдкрдгрд╛ рдирд╛рд╣реА. рдореА рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рддреЛ рдХреА рдорд╛рд╣рд┐рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╕рд╣ рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рд╡реА. рд╢реЗрд╡рдЯреА, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ/рдЦрд╛рдЬрдЧреА рдХреАрдЪреЗ рддрддреНрддреНрд╡ рдЖрдзреАрдЪ рдЬреБрдиреЗ рдЖрд╣реЗ, рдЬрд╡рд│рдЬрд╡рд│ рдЗрдВрдЯрд░рдиреЗрдЯрд╕рд╛рд░рдЦреЗ. рдЬрд░ рдорд╛рд╣рд┐рддреА рдЧреЛрдкрдиреАрдп рдирд╕реЗрд▓ рдЖрдгрд┐ рддреА рдПрдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд░реНрддреБрд│рд╛рд╕рд╛рдареА рдЕрд╕реЗрд▓, рддрд░ рддреА рддрд╛рдмрдбрддреЛрдм рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╕рд╣ рдорд╛рдВрдбрд▓реА рдЬрд╛рддреЗ (рдкрд░рдВрддреБ рддрд░реАрд╣реА рдПрдирдХреНрд░рд┐рдкреНрдЯреЗрдб рдлреЙрд░реНрдордордзреНрдпреЗ, рдлрдХреНрдд рдХреЛрдгреАрд╣реА рддреА рдЙрдкрд▓рдмреНрдз рдХреАрд╕рд╣ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реВ рд╢рдХрддреЗ). рдЖрдгрд┐ рдЬрд░ рдирд╕реЗрд▓, рддрд░ рддреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╢рд┐рд╡рд╛рдп рдШрд╛рддрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдХреА рд╕реНрд╡рддрдГрдЪ рдпрд╛ рдорд╛рд╣рд┐рддреАрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЬреНрдпрд╛рдиреЗ рддреЗ рд╡рд╛рдЪрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рдПрдХ рдЪрд╛рд╡реА рдЕрд╕рд╛рд╡реА рдЖрдгрд┐ рд╣реА рдорд╛рд╣рд┐рддреА рдХреЛрдареЗ рдорд┐рд│рд╡рд╛рдпрдЪреА, рддреНрдпрд╛рдиреЗ рдЦрд░реЛрдЦрд░ рдЙрдбреА рдШреЗрдК рдирдпреЗ - рддреЛ рдлрдХреНрдд рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реВрди рдЦреЗрдЪрддреЛ (рд╣реЗ рд╕рд╛рдордЧреНрд░реАрджреНрд╡рд╛рд░реЗ рд╡рд┐рддрд░рдгрд╛рдЪреЗ рдирд╡реАрди рддрддреНрддреНрд╡ рдЖрд╣реЗ, рджреНрд╡рд╛рд░реЗ рдирд╛рд╣реА рдкрддреНрддрд╛).

рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рд╕рд╛рдореВрд╣рд┐рдХ рд╣рд▓реНрд▓реНрдпрд╛рд╕рд╛рдареА, рд╣рд▓реНрд▓реЗрдЦреЛрд░рд╛рдВрдирд╛ рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЦрд╛рдЬрдЧреА рдХреА рдорд┐рд│рд╡рд╛рд╡реНрдпрд╛ рд▓рд╛рдЧрддреАрд▓ рдЖрдгрд┐ рд╣реЗ рдПрдХрд╛рдЪ рдард┐рдХрд╛рдгреА рдХреЗрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдирд╛рд╣реА. рд╣реЗ рдХрд╛рд░реНрдп, рдЬрд╕реЗ рдореА рдкрд╛рд╣рддреЛ, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛ рд╣реЕрдХ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрд╣реЗ.

рдЖрдгрд┐ рдпреЗрдереЗ рдЖрдгрдЦреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдВрдж рдЖрд╣реЗ: рд▓реЗрдЦрдХрддреНрд╡рд╛рдЪреА рдкреБрд╖реНрдЯреА. рдЖрддрд╛ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рдорд┐рддреНрд░рд╛рдВрдиреА рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЕрдиреЗрдХ рдХреЛрдЯреНрд╕ рд╕рд╛рдкрдбрддреАрд▓. рдкрдг рддреНрдпрд╛рдВрдиреАрдЪ рд▓рд┐рд╣рд┐рд▓рдВ рдпрд╛рдЪреА рд╢рд╛рд╢реНрд╡рддреА рдХреБрдареЗ рдЖрд╣реЗ? рдЖрддрд╛, рдЕрд╢рд╛ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдХреЙрд░реНрдбрд▓рд╛ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рд╕рд╛рде рджрд┐рд▓реА рддрд░ рддреЗ рдмрд░реЗрдЪ рд╕реЛрдкреЗ рд╣реЛрдИрд▓. рдЖрдгрд┐ рд╣реА рдорд╛рд╣рд┐рддреА рдХреБрдареЗ рдЖрд╣реЗ рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА, рдореБрдЦреНрдп рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд╕реНрд╡рд╛рдХреНрд╖рд░реА, рдЬреА рдЕрд░реНрдерд╛рддрдЪ рдмрдирд╛рд╡рдЯ рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

рдЖрдгрд┐ рдпреЗрдереЗ рдХрд╛рдп рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ: IPFS рдордзреНрдпреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд (рд╢реЗрд╡рдЯреА, рддреЗ рдмреНрд▓реЙрдХрдЪреЗрди рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗ). рдЦрд╛рдЬрдЧреА рдХреА рддреНрд╡рд░рд┐рдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рддреЗ.

  "Identity": {
    "PeerID": "QmeCWX1DD7HnPSuMHZSh6tFuMxxxxxxxxxxxxxx",
    "PrivKey": "CAASqAkwggSkAgEAAoIBAQClZedVmj8JkPvT92sGrNIQmofVF3ne8xSWZIGqkm+t9IHNN+/NDI51jA0MRzpBviM3o/c/Nuz30wo95vWToNyWzJlyAISXnUHxnVhvpeJAbaeggQRcFxO9ujO9DH61aqgN1m+JoEplHjtc4KS5
pUEDqamve+xAJO8BWt/LgeRKA70JN4hlsRSghRqNFFwjeuBkT1kB6tZsG3YmvAXJ0o2uye+y+7LMS7jKpwJNJBiFAa/Kuyu3W6PrdOe7SqrXfjOLHQ0uX1oYfcqFIKQsBNj/Fb+GJMiciJUZaAjgHoaZrrf2b/Eii3z0i+QIVG7OypXT3Z9JUS60
KKLfjtJ0nVLjAgMBAAECggEAZqSR5sbdffNSxN2TtsXDa3hq+WwjPp/908M10QQleH/3mcKv98FmGz65zjfZyHjV5C7GPp24e6elgHr3RhGbM55vT5dQscJu7SGng0of2bnzQCEw8nGD18dZWmYJsE4rUsMT3wXxhUU4s8/Zijgq27oLyxKNr9T7
2gxqPCI06VTfMiCL1wBBUP1wHdFmD/YLJwOjV/sVzbsl9HxqzgzlDtfMn/bJodcURFI1sf1e6WO+MyTc3.................

рдореА рд╕реБрд░рдХреНрд╖рд╛ рддрдЬреНрдЮ рдирд╛рд╣реА рдЖрдгрд┐ рддреЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рд╣реЗ рдорд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдорд▓рд╛ рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдпрд╛ рдХреА рдЖрдпрдкреАрдПрдлрдПрд╕ рдиреЛрдбреНрд╕рдордзреАрд▓ рд╡рд┐рдирд┐рдордп рд╕реНрддрд░рд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдЖрдгрд┐ рджреЗрдЦреАрд▓ js-ipfs рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдХрд▓реНрдк рдЬрд╕реЗ рдХреА orbit-dbрдЬреНрдпрд╛рд╡рд░ рддреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ orbit.chat. рдореНрд╣рдгрдЬреЗрдЪ, рд╕реИрджреНрдзрд╛рдВрддрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ (рдХреЗрд╡рд│ рдореЛрдмрд╛рдЗрд▓ рдЖрдгрд┐ рдирд╛рд╣реА) рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди-рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдорд╢реАрдирд╕рд╣ рд╕рд╣рдЬрдкрдгреЗ рд╕реБрд╕рдЬреНрдЬ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЦрд╛рдЬрдЧреА рдХреА рдЬрддрди рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдШреЗрдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ, рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрдЬрдг рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдХрд╛рд╣реА рд╕реБрдкрд░-рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрдВрдЯрд░рдиреЗрдЯ рджрд┐рдЧреНрдЧрдЬрд╛рдВрд╡рд░ рджреБрд╕рд░реНрдпрд╛ рдорд╛рдирд╡реА рдШрдЯрдХрд╛рдЪреЗ рдУрд▓рд┐рд╕ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рддреБрдореНрд╣реА рдЖрдзреА IPFS рдмрджреНрджрд▓ рдРрдХрд▓реЗ рдЖрд╣реЗ рдХрд╛?

  • рдореА IPFS рдмрджреНрджрд▓ рдХрдзреАрд╣реА рдРрдХрд▓реЗ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдордиреЛрд░рдВрдЬрдХ рд╡рд╛рдЯрддреЗ

  • рдРрдХрд▓реЗ рдирд╛рд╣реА рдЖрдгрд┐ рдРрдХрд╛рдпрдЪреЗ рдирд╛рд╣реА

  • рдРрдХрд▓реЗ рдкрдг рд░рд╕ рдирд╛рд╣реА

  • рдРрдХрд▓реЗ, рдкрдг рд╕рдордЬрд▓реЗ рдирд╛рд╣реА, рдкрдг рдЖрддрд╛ рдордиреЛрд░рдВрдЬрдХ рд╡рд╛рдЯрддреЗ

  • рдореА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рд╕рдХреНрд░рд┐рдпрдкрдгреЗ IPFS рд╡рд╛рдкрд░рдд рдЖрд╣реЗ.

69 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 13 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛