වේදනාවකින් තොරව IPFS (නමුත් මෙය නිවැරදි නොවේ)

වේදනාවකින් තොරව IPFS (නමුත් මෙය නිවැරදි නොවේ)

එය දැනටමත් Habré මත තිබියදීත් IPFS ගැන ලිපි එකකට වඩා.

මම මෙම ක්ෂේත්‍රයේ ප්‍රවීණයෙකු නොවන බව මට වහාම පැහැදිලි කිරීමට ඉඩ දෙන්න, නමුත් මම මෙම තාක්‍ෂණය ගැන කිහිප වතාවක්ම උනන්දුව ප්‍රකාශ කර ඇත, නමුත් එය සමඟ සෙල්ලම් කිරීමට උත්සාහ කිරීම බොහෝ විට යම් වේදනාවක් ඇති කළේය. අද මම නැවතත් අත්හදා බැලීම් ආරම්භ කළ අතර මම බෙදා ගැනීමට කැමති ප්රතිඵල කිහිපයක් ලබා ගත්තා. කෙටියෙන් කිවහොත්, IPFS ස්ථාපන ක්රියාවලිය සහ සමහර උපක්රම විස්තර කරනු ඇත (සියල්ල ubuntu මත සිදු කරන ලදී, මම වෙනත් වේදිකාවල එය උත්සාහ කර නැත).

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 ස්ථාපනය කිරීම

මම වඩාත් කැමති ස්ථාපන ක්රමයට: ipfs-යාවත්කාලීන කිරීම.

අපි එය විධානය සමඟ ස්ථාපනය කරමු

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

මෙයින් පසු ඔබට පහත විධානයන් ක්‍රියාත්මක කළ හැකිය:

ipfs-යාවත්කාලීන අනුවාද — බාගත කිරීම සඳහා පවතින සියලුම අනුවාද බැලීමට.
ipfs යාවත්කාලීන අනුවාදය — වත්මන් ස්ථාපිත අනුවාදය බැලීමට (අපි IPFS ස්ථාපනය කරන තුරු, එය කිසිවක් නොවේ).
ipfs-update නවතම ස්ථාපනය - 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 වෙත වත් කර, ස්ථාපකය වෙත ලිපිනය එකතු කරන ලදී. මම හිතන්නේ මෙය ඉතා සිසිල් ය. තවද මෙම ගොනුව (වඩාත් නිවැරදිව, සම්පූර්ණ ෆෝල්ඩරය) දැන් දේශීයව පමණක් නොව, නිල ද්වාරය මත ද නැරඹිය හැකිය. ipfs.io/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv. මෙම අවස්ථාවේදී, ෆෝල්ඩරයේ අන්තර්ගතය කිසිදු ආකාරයකින් වෙනස් වී නොමැති බව ඔබට සහතික විය හැකිය, මන්ද ඒවා වෙනස් වූවා නම්, හැෂ් ද වෙනස් වීමට ඉඩ තිබුණි.

මාර්ගය වන විට, මෙම අවස්ථාවෙහිදී, IPFS අනුවාද පාලන සේවාදායකයක් සමඟ යම් සමානකම් ඇත. ඔබ ෆෝල්ඩරයේ මූලාශ්‍ර ගොනු වලට වෙනස්කම් සිදු කර නැවත IPFS වෙත ෆෝල්ඩරය උඩුගත කළහොත් එයට නව ලිපිනයක් ලැබෙනු ඇත. ඒ අතරම, පැරණි ෆෝල්ඩරය එලෙසම කොතැනකටවත් නොයන අතර එහි පෙර ලිපිනයෙන් ලබා ගත හැකිය.

සෘජු දියත් කිරීම

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 අතුරුමුහුණත් වෙත ප්‍රවේශ වනු ඇති අතර සෑම දෙයක්ම ඔබට ලබා ගත හැකිය (උදාහරණයක් ලෙස, දේශීයව:5001/webui/). නමුත් බාහිර සේවාදායකයක ස්ථාපනය කරන විට, පෙරනිමියෙන් අන්තර්ජාලයට පිවිසුම් දොරටු වසා ඇත. දොරටු දෙකක් ඇත:

  1. webui පරිපාලක (github5001 වරායේ.
  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"
}

අපි 127.0.0.1 ඔබේ සේවාදායකයේ ip වෙත වෙනස් කර ගොනුව සුරකින්නෙමු, ඉන්පසු අපි ipfs නැවත ආරම්භ කරමු (Ctrl + C සමඟ ධාවනය වන විධානය නතර කර එය නැවත ධාවනය කරන්න).

ලැබිය යුතුයි

...
WebUI: http://ip_вашего_сервера:5001/webui
Gateway (readonly) server listening on /ip4/ip_вашего_сервера/tcp/8080

දැන් බාහිර අතුරුමුහුණත් තිබිය යුතුය.

චෙක් පත

http://домен_или_ip_сервера:8080/ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme

ඉහත readme ගොනුව විවෘත විය යුතුය.

http://домен_или_ip_сервера:5001/webui/

වෙබ් අතුරු මුහුණත විවෘත විය යුතුය.

ඔබට webui ක්‍රියාත්මක වන්නේ නම්, සංඛ්‍යාලේඛන බැලීම ඇතුළුව IPFS සැකසුම් කෙලින්ම වෙනස් කළ හැකිය, නමුත් පහත මම සාමාන්‍යයෙන් තීරණාත්මක නොවන වින්‍යාස ගොනුව හරහා කෙලින්ම වින්‍යාස විකල්ප සලකා බලමි. වින්‍යාසය හරියටම කොතැනද සහ එය සමඟ කුමක් කළ යුතුද යන්න මතක තබා ගැනීම වඩා හොඳය, එසේ නොමැතිනම් වෙබ් අතුරු මුහුණත ක්‍රියා නොකරන්නේ නම් එය වඩාත් අපහසු වනු ඇත.

ඔබගේ සේවාදායකය සමඟ වැඩ කිරීමට වෙබ් අතුරු මුහුණතක් සැකසීම

පැය තුනක් ගත කළ පළමු උගුල මෙන්න.

ඔබ බාහිර සේවාදායකයක IPFS ස්ථාපනය කර ඇතත්, දේශීයව IPFS ස්ථාපනය කර හෝ ධාවනය නොකළේ නම්, ඔබ වෙබ් අතුරු මුහුණතේ /webui වෙත ගිය විට ඔබට සම්බන්ධතා දෝෂයක් දැකිය හැකිය:

වේදනාවකින් තොරව IPFS (නමුත් මෙය නිවැරදි නොවේ)

කාරණය නම් webui, මගේ මතය අනුව, ඉතා වෙනස් ලෙස ක්‍රියා කරයි. පළමුව, එය අතුරු මුහුණත විවෘතව ඇති සේවාදායකයේ API වෙත සම්බන්ධ වීමට උත්සාහ කරයි (ඇත්ත වශයෙන්ම බ්රවුසරයේ ලිපිනය මත පදනම්ව). සහ එය එහි වැඩ නොකරන්නේ නම්, එය දේශීය ද්වාරය වෙත සම්බන්ධ වීමට උත්සාහ කරයි. ඔබට දේශීයව IPFS ක්‍රියාත්මක වේ නම්, එවිට webui ඔබට හොඳින් ක්‍රියා කරයි, ඔබ බාහිර සේවාදායකයක webui විවෘත කළද, ඔබ පමණක් දේශීය IPFS සමඟ වැඩ කරන අතර බාහිර නොවේ. එවිට ඔබ ගොනු උඩුගත කරයි, නමුත් කිසියම් හේතුවක් නිසා ඔබට ඒවා බාහිර සේවාදායකයේ නොපෙනේ...

එය දේශීයව දියත් නොකළේ නම්, අපට සම්බන්ධතා දෝෂයක් ලැබේ. අපගේ නඩුවේදී, දෝෂය බොහෝ විට CORS නිසා විය හැකි අතර, එය වින්‍යාසයක් එක් කිරීමට යෝජනා කරන webui විසින් ද දක්වනු ලැබේ.

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"]'

මම මා වෙනුවෙන් Wildcard එකක් ලියාපදිංචි කළා

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

අවසාන හැෂ් එක වන්නේ root ෆෝල්ඩරයේ හැෂ් ය.

මෙම හැෂ් භාවිතයෙන්, අපට ඕනෑම ipfs node එකක් මත ෆෝල්ඩරය විවෘත කළ හැකිය (අපගේ නෝඩය සොයාගෙන අන්තර්ගතය ලබා ගත හැක), අපට එය 5001 හෝ 8080 වරායේ ඇති වෙබ් අතුරු මුහුණතෙහි කළ හැකිය, නැතහොත් අපට එය දේශීයව ipfs හරහා කළ හැකිය.

ipfs ls QmbnzgRVAP4fL814h5mQttyqk1aUxxxxxxxxxxxxx
QmfYuz2gegRZNkDUDVLNa5DXzKmKVxxxxxxxxxxxxxx 10 test.txt

නමුත් ඔබට එය සාමාන්‍ය ෆෝල්ඩරයක් මෙන් විවෘත කළ හැකිය.

අපි root හි ෆෝල්ඩර දෙකක් සාදා ඒවායේ අයිතිය අපගේ පරිශීලකයාට ලබා දෙමු.

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

සහ --mount ධජය සමඟ ipfs නැවත ආරම්භ කරන්න

ipfs daemon --mount

ඔබට වෙනත් ස්ථානවල ෆෝල්ඩර සෑදිය හැකි අතර ipfs daemon පරාමිති -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 ෆෝල්ඩර වත්මන් පරිශීලකයාට පමණක් ප්‍රවේශ විය හැකිය (root පවා එවැනි ෆෝල්ඩරයකින් කියවීමට නොහැකි වනු ඇත, පද්ධතියේ අනෙකුත් පරිශීලකයින් ගැන සඳහන් නොකරන්න) . ඔබට මෙම ෆෝල්ඩර වෙනත් පරිශීලකයින්ට ලබා දීමට අවශ්‍ය නම්, වින්‍යාසය තුළ ඔබට “FuseAllowOther” වෙනස් කිරීමට අවශ්‍ය වේ: false ලෙස “FuseAllowOther”: true. නමුත් එය පමණක් නොවේ. ඔබ IPFS root ලෙස ධාවනය කරන්නේ නම්, එවිට සියල්ල හරි. සාමාන්‍ය පරිශීලකයෙකු වෙනුවෙන් (sudo පවා) නම්, ඔබට දෝෂයක් ලැබෙනු ඇත

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 ස්වයංක්‍රීයව සාර්ථකව ආරම්භ වන බව පරීක්ෂා කිරීමට අනාගතයේදී සේවාදායකය නැවත ආරම්භ කිරීමට හැකි වනු ඇත.

අප දන්නා සම වයසේ මිතුරන් එකතු කිරීම

බාහිර සේවාදායකයක සහ දේශීය වශයෙන් IPFS නෝඩ් ස්ථාපනය කර ඇති තත්වයක් අපි සලකා බලමු. බාහිර සේවාදායකයේ අපි ගොනු කිහිපයක් එකතු කර CID මගින් දේශීයව IPFS හරහා ලබා ගැනීමට උත්සාහ කරමු. කුමක් සිදුවේවිද? ඇත්ත වශයෙන්ම, දේශීය සේවාදායකය අපගේ බාහිර සේවාදායකය ගැන කිසිවක් නොදන්නා අතර CID විසින් ගොනුව සොයා ගැනීමට උත්සාහ කරනු ඇත, එයට ඇති සියලුම IPFS සම වයසේ මිතුරන්ගෙන් (එය දැනටමත් “හැඳුනුම් වීමට” සමත් වී ඇත). ඔවුන් අනෙක් අයගෙන් අසනු ඇත. ගොනුව සොයා ගන්නා තුරු එසේ ය. ඇත්ත වශයෙන්ම, අපි නිල ද්වාරය හරහා ගොනුවක් ලබා ගැනීමට උත්සාහ කරන විට එකම දේ සිදු වේ ipfs.io. ඔබ වාසනාවන්ත නම්, ගොනුව තත්පර කිහිපයකින් සොයා ගනු ඇත. එසේ නොවේ නම්, එය මිනිත්තු කිහිපයකින් පවා සොයාගත නොහැකි වනු ඇත, එය කාර්යයේ සුවපහසුවට බෙහෙවින් බලපායි. නමුත් මෙම ගොනුව මුලින්ම දිස්වන්නේ කොතැනදැයි අපි දනිමු. ඉතින් අපි වහාම අපගේ දේශීය සේවාදායකයට “පළමුව එහි බලන්න” යැයි නොකියන්නේ මන්ද? පෙනෙන විදිහට, මෙය කළ හැකිය.

1. දුරස්ථ සේවාදායකය වෙත ගොස් වින්‍යාසය තුළ ~/.ipfs/config සොයන්න.

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

2. sudo සේවා ipfs තත්ත්වය ධාවනය කර එහි ඇති Swarm ඇතුළත් කිරීම් සොයන්න, උදාහරණයක් ලෙස:

Swarm announcing /ip4/ip_вашего_сервера/tcp/4001

3. මෙයින් “/ip4/ip_of_your_server/tcp/4001/ipfs/$PeerID” පෝරමයේ සාමාන්‍ය ලිපිනයක් එක් කරන්න.

4. විශ්වසනීයත්වය සඳහා, අපගේ දේශීය webui හරහා සම වයසේ මිතුරන්ට මෙම ලිපිනය එක් කිරීමට උත්සාහ කරමු.

වේදනාවකින් තොරව IPFS (නමුත් මෙය නිවැරදි නොවේ)

5. සියල්ල හරි නම්, දේශීය වින්‍යාසය ~/.ipfs/config විවෘත කරන්න, එහි “Bootstrap” සොයා ගන්න: [...
සහ ලැබුණු ලිපිනය මුලින්ම අරාවට එක් කරන්න.

IPFS නැවත ආරම්භ කරන්න.

දැන් අපි ගොනුව බාහිර සේවාදායකයට එකතු කර එය දේශීය එකකින් ඉල්ලීමට උත්සාහ කරමු. ඉක්මනින් පියාසර කළ යුතුය.

නමුත් මෙම ක්‍රියාකාරීත්වය තවමත් ස්ථායී නොවේ. මම තේරුම් ගත් පරිදි, අපි Bootstrap හි peer address එක සඳහන් කළත්, ipfs මෙහෙයුම අතරතුරදී සක්‍රීය සම්බන්ධතා ලැයිස්තුව සම වයසේ මිතුරන් වෙත වෙනස් කරයි. ඕනෑම අවස්ථාවක, ස්ථිර සම වයසේ මිතුරන් සඳහන් කිරීමේ හැකියාව පිළිබඳව මේ හා කැමැත්ත පිළිබඳ සාකච්ඡාවක් සිදු වෙමින් පවතී මෙහි සහ එය පෙනේ යැයි කියනු ලැබේ යම් ක්‍රියාකාරීත්වයක් එක් කරන්න [විද්‍යුත් ආරක්‍ෂිත]+

වත්මන් සම වයසේ මිතුරන්ගේ ලැයිස්තුව webui සහ ටර්මිනලය යන දෙකෙහිම නැරඹිය හැකිය.

ipfs swarm peers

ස්ථාන දෙකේදීම ඔබට ඔබේම මංගල්යය අතින් එකතු කළ හැකිය.

ipfs swarm connect "/ip4/ip_вашего_сервера/tcp/4001/ipfs/$PeerID"

මෙම ක්‍රියාකාරිත්වය වැඩි දියුණු වන තුරු, ඔබට අවශ්‍ය සම වයසේ මිතුරෙකු සමඟ සම්බන්ධතාවයක් පරීක්ෂා කිරීමට සහ, එසේ නොමැති නම්, සම්බන්ධතාවයක් එක් කිරීමට මෙවලමක් ලිවිය හැකිය.

තර්ක කිරීම

IPFS ගැන දැනටමත් හුරුපුරුදු අය අතර, IPFS සඳහා සහ විරුද්ධ තර්ක දෙකම තිබේ. මූලික වශයෙන්, පෙරේදා සාකච්ඡා සහ IPFS වෙත නැවත හෑරීමට මා පොළඹවන ලදී. ඉහත සඳහන් කළ සාකච්ඡාව සම්බන්ධයෙන්: කතා කළ අයගේ ලබා දී ඇති කිසිදු තර්කයකට මම දැඩි ලෙස විරුද්ධ යැයි මට පැවසිය නොහැක (මම එකඟ නොවෙන්නේ ක්‍රමලේඛකයින් එකහමාරක් IPFS භාවිතා කරන බව පමණි). පොදුවේ ගත් කල, දෙකම ඔවුන්ගේම ආකාරයෙන් හරි (විශේෂයෙන් චෙක්පත් ගැන අදහස් දක්වන්න ඔබව සිතන්නට සලස්වයි). නමුත් අපි සදාචාරාත්මක හා නීතිමය තක්සේරුව පැත්තකින් තැබුවොත්, මෙම තාක්ෂණය පිළිබඳ තාක්ෂණික තක්සේරුව ලබා දෙන්නේ කවුද? පුද්ගලිකව, මට යම් ආකාරයක අභ්‍යන්තර හැඟීමක් ඇත, “මෙය අනිවාර්යයෙන්ම අවශ්‍ය වේ, එයට යම් අපේක්ෂාවන් ඇත.” නමුත් ඇයි හරියටම, පැහැදිලි සූත්‍රගත කිරීමක් නොමැත. ඔබ දැනට පවතින මධ්‍යගත මෙවලම් දෙස බැලුවහොත්, බොහෝ ආකාරවලින් ඒවා බොහෝ ඉදිරියෙන් සිටී (ක්‍රියාකාරීත්වයේ ස්ථායිතාව, ක්‍රියාකාරීත්වයේ වේගය, පාලනය කිරීම යනාදිය). එසේ වුවද, එවැනි විමධ්‍යගත පද්ධති නොමැතිව කිසිසේත්ම ක්‍රියාත්මක කළ නොහැකි අර්ථාන්විත බව පෙනෙන එක් අදහසක් මට තිබේ. ඇත්ත වශයෙන්ම, මම දැඩි ලෙස තල්ලු කරමි, නමුත් මම එය මේ ආකාරයෙන් සකස් කරමි: අන්තර්ජාලයේ තොරතුරු බෙදා හැරීමේ මූලධර්මය වෙනස් කළ යුතුය.

මට පැහැදිලි කරන්න දෙන්න. ඔබ ඒ ගැන මේ ආකාරයෙන් සිතන්නේ නම්, දැන් අපි තොරතුරු බෙදාහරින්නේ “මා එය ලබා දුන් තැනැත්තා එය ආරක්ෂා කරනු ඇතැයි මම බලාපොරොත්තු වන අතර එය අදහස් නොකළ කෙනෙකුට එය නැති වී හෝ නොලැබෙන්නේ නැත” යන මූලධර්මය අනුව ය. උදාහරණයක් ලෙස, විවිධ විද්‍යුත් තැපැල් සේවා, වලාකුළු ආචයනය යනාදිය සලකා බැලීම පහසුය. සහ අවසානයේ අපට ඇත්තේ කුමක්ද? හබ් හි හබ් තොරතුරු ආරක්ෂාව පළමු පේළියේ වන අතර සෑම දිනකම පාහේ අපට තවත් ගෝලීය කාන්දුවක් පිළිබඳ පුවත් ලැබේ. ප්‍රතිපත්තිමය වශයෙන්, වඩාත් සිත්ගන්නාසුලු දේවල් <උපහාසාත්මක ලෙස> අපූරු ලෙස ලැයිස්තුගත කර ඇත ලිපිය ගිම්හානය අවසන් වීමට ආසන්නයි. කාන්දු නොවූ දත්ත කිසිවක් ඉතිරිව නැති තරම්ය. එනම්, ප්‍රධාන අන්තර්ජාල යෝධයන් විශාල වෙමින් හා විශාල වෙමින් පවතින අතර, ඔවුන් වැඩි වැඩියෙන් තොරතුරු රැස් කරමින් සිටින අතර, එවැනි කාන්දුවීම් එක්තරා ආකාරයක තොරතුරු පරමාණුක පිපිරීම් වේ. මෙය මීට පෙර කිසි දිනෙක සිදු නොවූ අතර, මෙන්න එය නැවතත්. ඒ අතරම, අවදානම් පවතින බව බොහෝ දෙනා තේරුම් ගත්තද, ඔවුන් තම දත්ත තෙවන පාර්ශවීය සමාගම් වෙත දිගටම විශ්වාස කරනු ඇත. පළමුව, බොහෝ විකල්පයක් නොමැති අතර, දෙවනුව, ඔවුන් සියලු සිදුරු සකස් කර ඇති බවත්, මෙය නැවත කිසි දිනෙක සිදු නොවන බවත් පොරොන්දු වේ.

මම දකින්නේ කුමන විකල්පයද? දත්ත මුලින් විවෘතව බෙදා හැරිය යුතු බව මට පෙනේ. නමුත් මෙම නඩුවේ විවෘතභාවය යනු සෑම දෙයක්ම කියවීමට පහසු විය යුතු බව නොවේ. මම කතා කරන්නේ ගබඩා කිරීමේ සහ බෙදාහැරීමේ විවෘත භාවය ගැන, නමුත් කියවීමේ සම්පූර්ණ විවෘතභාවය ගැන නොවේ. පොදු යතුරු සමඟ තොරතුරු බෙදා හැරිය යුතු යැයි මම උපකල්පනය කරමි. සියල්ලට පසු, පොදු/පෞද්ගලික යතුරු මූලධර්මය දැනටමත් අන්තර්ජාලය තරම් පැරණි ය. තොරතුරු රහසිගත නොවේ නම් සහ පුළුල් කවයක් සඳහා අදහස් කරන්නේ නම්, එය වහාම පොදු යතුරක් සමඟ පළ කරනු ලැබේ (නමුත් තවමත් සංකේතාත්මක ආකාරයෙන්, ඕනෑම කෙනෙකුට පවතින යතුරෙන් එය විකේතනය කළ හැකිය). එසේ නොවේ නම්, එය පොදු යතුරකින් තොරව පළ කරනු ලබන අතර, යතුර මෙම තොරතුරු වෙත ප්‍රවේශ විය යුතු තැනැත්තා වෙත මාරු කරනු ලැබේ. ඒ අතරම, එය කියවිය යුතු තැනැත්තාට තිබිය යුත්තේ යතුරක් පමණක් වන අතර, මෙම තොරතුරු ලබා ගන්නේ කොහෙන්ද යන්න ඔහුට එතරම් වැදගත් නොවිය යුතුය - ඔහු එය හුදෙක් ජාලයෙන් ඇද දමයි (මෙය අන්තර්ගතය අනුව බෙදා හැරීමේ නව මූලධර්මය මිස නොවේ. ලිපිනය අනුව).

මේ අනුව, දැවැන්ත ප්‍රහාරයක් සඳහා, ප්‍රහාරකයන්ට පුද්ගලික යතුරු විශාල ප්‍රමාණයක් ලබා ගැනීමට අවශ්‍ය වනු ඇති අතර, මෙය එක තැනක සිදු කිරීමට අපහසුය. මෙම කාර්යය, මා දකින පරිදි, විශේෂිත සේවාවක් අනවසරයෙන් ඇතුළු කිරීමට වඩා දුෂ්කර ය.

මෙන්න තවත් ගැටළුවක් පැමිණේ: කර්තෘත්වය තහවුරු කිරීම. දැන් අන්තර්ජාලයේ ඔබට අපගේ මිතුරන් විසින් ලියන ලද බොහෝ උපුටා දැක්වීම් සොයාගත හැකිය. නමුත් ඒවා ලිව්වේ ඔවුන් බව සහතිකය කොහෙද? දැන්, එවැනි සෑම වාර්තාවක්ම ඩිජිටල් අත්සනක් සමඟ තිබුනේ නම්, එය වඩාත් සරල වනු ඇත. මෙම තොරතුරු පිහිටා ඇත්තේ කොතැනකද යන්න ගැටළුවක් නොවේ, ප්‍රධාන දෙය වන්නේ අත්සනයි, එය පැහැදිලිවම ව්‍යාජ ලෙස සකස් කිරීමට අපහසුය.

මෙහි රසවත් දේ මෙන්න: IPFS දැනටමත් සංකේතාංකන මෙවලම් අඩංගු වේ (සියල්ලට පසු, එය blockchain තාක්ෂණය මත ගොඩනගා ඇත). පුද්ගලික යතුර වහාම වින්‍යාසය තුළ දක්වනු ලැබේ.

  "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.................

මම ආරක්ෂක විශේෂඥයෙකු නොවන අතර මෙය නිවැරදිව භාවිතා කරන්නේ කෙසේදැයි මට හරියටම දැනගත නොහැක, නමුත් මෙම යතුරු IPFS නෝඩ් අතර හුවමාරු මට්ටමේ භාවිතා කරන බව මට පෙනේ. ඒ වගේම js-ipfs සහ එවැනි උදාහරණ ව්යාපෘති orbit-db, එය ක්රියාත්මක වන orbit.chat. එනම්, න්‍යායාත්මකව, සෑම උපාංගයක්ම (ජංගම සහ පමණක් නොව) එහිම සංකේතාංකන සහ විකේතන යන්ත්‍ර වලින් පහසුවෙන් සන්නද්ධ කළ හැකිය. මෙම අවස්ථාවේ දී, ඉතිරිව ඇත්තේ සෑම කෙනෙකුම තම පුද්ගලික යතුරු ආරක්ෂා කර ගැනීම ගැන සැලකිලිමත් වීම සහ සෑම කෙනෙකුම තමන්ගේම ආරක්ෂාව සඳහා වගකිව යුතු අතර, සමහර සුපිරි ජනප්‍රිය අන්තර්ජාල යෝධයෙකු මත තවත් මානව සාධකයකට ප්‍රාණ ඇපකරුවන් නොවී සිටීමයි.

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. පුරන්නකරුණාකර.

ඔබ මීට පෙර IPFS ගැන අසා තිබේද?

  • මම කවදාවත් IPFS ගැන අසා නැත, නමුත් එය සිත්ගන්නා සුළු බව පෙනේ

  • මම අසා නැත, මට ඇසීමට අවශ්‍ය නැත

  • මට ඒ ගැන ආරංචි වුණා, නමුත් මම උනන්දු වුණේ නැහැ

  • මම එය අසා ඇත, නමුත් එය තේරුම් ගත්තේ නැත, නමුත් දැන් එය රසවත් බව පෙනේ

  • මම දීර්ඝ කාලයක් තිස්සේ IPFS ක්රියාකාරීව භාවිතා කර ඇත.

පරිශීලකයින් 69 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 13 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න