வலி இல்லாமல் IPFS (ஆனால் இது துல்லியமாக இல்லை)

வலி இல்லாமல் IPFS (ஆனால் இது துல்லியமாக இல்லை)

அது ஏற்கனவே ஹப்ரேயில் இருந்த போதிலும் IPFS பற்றி ஒன்றுக்கும் மேற்பட்ட கட்டுரைகள்.

நான் இந்தத் துறையில் நிபுணன் அல்ல என்பதை இப்போதே தெளிவுபடுத்துகிறேன், ஆனால் இந்த தொழில்நுட்பத்தில் நான் ஒன்றுக்கு மேற்பட்ட முறை ஆர்வத்தை வெளிப்படுத்தினேன், ஆனால் அதனுடன் விளையாட முயற்சிப்பது பெரும்பாலும் சில வலியை ஏற்படுத்தியது. இன்று நான் மீண்டும் பரிசோதனை செய்ய ஆரம்பித்தேன் மற்றும் நான் பகிர்ந்து கொள்ள விரும்பும் சில முடிவுகளைப் பெற்றேன். சுருக்கமாக, IPFS நிறுவல் செயல்முறை மற்றும் சில தந்திரங்கள் விவரிக்கப்படும் (எல்லாம் ubuntu இல் செய்யப்பட்டது, நான் மற்ற தளங்களில் அதை முயற்சி செய்யவில்லை).

IPFS என்றால் என்ன என்பதை நீங்கள் தவறவிட்டால், அது இங்கே விரிவாக எழுதப்பட்டுள்ளது: habr.com/en/post/314768

நிறுவல்

சோதனையின் தூய்மைக்காக, அதை உடனடியாக சில வெளிப்புற சேவையகத்தில் நிறுவ பரிந்துரைக்கிறேன், ஏனெனில் உள்ளூர் மற்றும் ரிமோட் பயன்முறையில் வேலை செய்வதில் சில குறைபாடுகளை நாங்கள் கருத்தில் கொள்வோம். பின்னர், நீங்கள் விரும்பினால், அதை இடிக்க அதிக நேரம் எடுக்காது; அங்கு அதிகம் இல்லை.

கோ நிறுவவும்

அதிகாரப்பூர்வ ஆவணங்கள்
தற்போதைய பதிப்பிற்கு, பார்க்கவும் golang.org/dl

குறிப்பு: IPFSஐ அடிக்கடி பயன்படுத்த எதிர்பார்க்கும் பயனரின் சார்பாக நிறுவுவது நல்லது. உண்மை என்னவென்றால், கீழே நாம் ஏற்றுவதற்கான விருப்பத்தை கருத்தில் கொள்வோம் முதல் FUSE மற்றும் அங்கு நுணுக்கங்கள் உள்ளன.

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-update பதிப்பு — தற்போதைய நிறுவப்பட்ட பதிப்பைப் பார்க்க (நாங்கள் IPFS நிறுவப்படும் வரை, அது எதுவும் இருக்காது).
ipfs-update சமீபத்திய நிறுவல் — IPFS இன் சமீபத்திய பதிப்பை நிறுவவும். சமீபத்திய பதிப்பிற்குப் பதிலாக, கிடைக்கக்கூடியவற்றின் பட்டியலிலிருந்து நீங்கள் விரும்பும் எந்தப் பதிப்பையும் முறையே குறிப்பிடலாம்.

ipfs ஐ நிறுவுதல்

ipfs-update install latest

சரிபார்க்கிறது

ipfs --version

பொது அடிப்படையில் நிறுவலுடன் நேரடியாக எல்லாம்.

ஐபிஎஃப்எஸ் தொடங்குதல்

துவக்கம்

முதலில் நீங்கள் துவக்கத்தை செய்ய வேண்டும்.

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. வெபுய் நிர்வாகி (-மகிழ்ச்சியா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"
}

நாங்கள் 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/

இணைய இடைமுகம் திறக்கப்பட வேண்டும்.

உங்களிடம் வெபுய் இயங்கினால், புள்ளிவிவரங்களைப் பார்ப்பது உட்பட, ஐபிஎஃப்எஸ் அமைப்புகளை நேரடியாக அதில் மாற்றலாம், ஆனால் கீழே உள்ளமைவு விருப்பங்களை உள்ளமைவு கோப்பு மூலம் நேரடியாகக் கருதுகிறேன், இது பொதுவாக முக்கியமானதல்ல. கட்டமைப்பு சரியாக எங்குள்ளது, அதை என்ன செய்வது என்பதை நினைவில் கொள்வது நல்லது, இல்லையெனில் வலை இடைமுகம் வேலை செய்யவில்லை என்றால், அது மிகவும் கடினமாக இருக்கும்.

உங்கள் சர்வருடன் வேலை செய்ய இணைய இடைமுகத்தை அமைத்தல்

மூன்று மணிநேரம் செலவழிக்கப்பட்ட முதல் ஆபத்து இங்கே.

நீங்கள் ஒரு வெளிப்புற சேவையகத்தில் IPFS ஐ நிறுவியிருந்தால், ஆனால் IPFS ஐ உள்நாட்டில் நிறுவவில்லை அல்லது இயக்கவில்லை என்றால், நீங்கள் இணைய இடைமுகத்தில் /webui க்குச் செல்லும்போது இணைப்புப் பிழையைக் காண வேண்டும்:

வலி இல்லாமல் IPFS (ஆனால் இது துல்லியமாக இல்லை)

உண்மை என்னவென்றால், வெபுய், என் கருத்துப்படி, மிகவும் வித்தியாசமாக வேலை செய்கிறது. முதலில், இடைமுகம் திறந்திருக்கும் சேவையகத்தின் API உடன் இணைக்க முயற்சிக்கிறது (உலாவியில் உள்ள முகவரியின் அடிப்படையில், நிச்சயமாக). அது அங்கு வேலை செய்யவில்லை என்றால், அது உள்ளூர் நுழைவாயிலுடன் இணைக்க முயற்சிக்கிறது. நீங்கள் உள்நாட்டில் IPFS இயங்கினால், webui உங்களுக்கு நன்றாக வேலை செய்யும், நீங்கள் மட்டுமே உள்ளூர் IPFS உடன் பணிபுரிவீர்கள், வெளிப்புற சேவையகத்தில் webui ஐத் திறந்தாலும் வெளிப்புறமாக அல்ல. பின்னர் நீங்கள் கோப்புகளைப் பதிவேற்றுகிறீர்கள், ஆனால் சில காரணங்களால் அவற்றை வெளிப்புற சேவையகத்தில் மட்டும் பார்க்க முடியாது...

இது உள்நாட்டில் தொடங்கப்படாவிட்டால், இணைப்பு பிழையைப் பெறுகிறோம். எங்கள் விஷயத்தில், பிழை பெரும்பாலும் 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"]'

எனக்காக ஒரு வைல்டு கார்டை பதிவு செய்தேன்

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 என மாற்ற வேண்டும். ஆனால் அதெல்லாம் இல்லை. நீங்கள் IPFS ஐ ரூட்டாக இயக்கினால், எல்லாம் சரியாகிவிடும். வழக்கமான பயனரின் சார்பாக (சூடோ கூட) இருந்தால், நீங்கள் ஒரு பிழையைப் பெறுவீர்கள்

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 மூலம் உள்நாட்டில் பெற முயற்சிக்கிறோம். என்ன நடக்கும்? நிச்சயமாக, உள்ளூர் சேவையகத்திற்கு எங்கள் வெளிப்புற சேவையகத்தைப் பற்றி எதுவும் தெரியாது, மேலும் CID மூலம் கோப்பைக் கண்டுபிடிக்க முயற்சிக்கும், அதற்குக் கிடைக்கும் அனைத்து IPFS சகாக்களையும் "கேட்டு" (அது ஏற்கனவே "அறிமுகம்" செய்ய முடிந்தது). அவர்கள், மற்றவர்களிடம் கேட்பார்கள். மற்றும் கோப்பு கண்டுபிடிக்கப்படும் வரை. உண்மையில், அதிகாரப்பூர்வ நுழைவாயில் வழியாக ஒரு கோப்பைப் பெற முயற்சிக்கும்போது இதேதான் நடக்கும் ipfs.io. நீங்கள் அதிர்ஷ்டசாலி என்றால், கோப்பு சில நொடிகளில் கண்டுபிடிக்கப்படும். இல்லையெனில், அது ஒரு சில நிமிடங்களில் கூட கண்டுபிடிக்கப்படாது, இது வேலையின் வசதியை பெரிதும் பாதிக்கிறது. ஆனால் இந்த கோப்பு முதலில் எங்கு தோன்றும் என்பது எங்களுக்குத் தெரியும். எனவே, "முதலில் அங்கே பார்" என்று நாம் ஏன் உடனடியாக எங்கள் உள்ளூர் சேவையகத்திற்குச் சொல்லக்கூடாது? வெளிப்படையாக, இதை செய்ய முடியும்.

1. தொலை சேவையகத்திற்குச் சென்று, கட்டமைப்பில் ~/.ipfs/config ஐப் பார்க்கவும்

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

2. sudo service ipfs நிலையை இயக்கி அதில் ஸ்வர்ம் உள்ளீடுகளைத் தேடவும், எடுத்துக்காட்டாக:

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

3. இதிலிருந்து “/ip4/ip_of_your_server/tcp/4001/ipfs/$PeerID” படிவத்தின் பொதுவான முகவரியைச் சேர்க்கிறோம்.

4. நம்பகத்தன்மைக்காக, இந்த முகவரியை எங்கள் உள்ளூர் வெபுய் மூலம் சக நண்பர்களிடம் சேர்க்க முயற்சிப்போம்.

வலி இல்லாமல் IPFS (ஆனால் இது துல்லியமாக இல்லை)

5. எல்லாம் சரியாக இருந்தால், உள்ளூர் கட்டமைப்பைத் திறக்கவும் ~/.ipfs/config, அதில் “Bootstrap” ஐக் கண்டறியவும்: [...
மற்றும் பெறப்பட்ட முகவரியை முதலில் வரிசையில் சேர்க்கவும்.

IPFS ஐ மீண்டும் தொடங்கவும்.

இப்போது வெளிப்புற சேவையகத்தில் கோப்பைச் சேர்ப்போம் மற்றும் உள்ளூர் ஒன்றில் அதைக் கோர முயற்சிக்கவும். விரைவாக பறக்க வேண்டும்.

ஆனால் இந்த செயல்பாடு இன்னும் நிலையானதாக இல்லை. நான் புரிந்து கொண்ட வரையில், நாம் பூட்ஸ்டார்ப்பில் பியர் முகவரியைக் குறிப்பிட்டாலும், செயல்பாட்டின் போது ipfs செயலில் உள்ள இணைப்புகளின் பட்டியலை சகாக்களுக்கு மாற்றுகிறது. எவ்வாறாயினும், நிரந்தர சகாக்களைக் குறிப்பிடுவதற்கான சாத்தியம் குறித்து இது மற்றும் விருப்பங்கள் பற்றிய விவாதம் நடந்து வருகிறது இங்கே மற்றும் அது போல் தெரிகிறது கருதப்படுகிறது சில செயல்பாடுகளைச் சேர்க்கவும் [மின்னஞ்சல் பாதுகாக்கப்பட்டது]+

தற்போதைய சகாக்களின் பட்டியலை வெபுய் மற்றும் டெர்மினலில் பார்க்கலாம்.

ipfs swarm peers

இரண்டு இடங்களிலும் நீங்கள் கைமுறையாக உங்கள் சொந்த விருந்தை சேர்க்கலாம்.

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

இந்த செயல்பாடு மேம்படுத்தப்படும் வரை, நீங்கள் விரும்பிய பியர் உடனான இணைப்பைச் சரிபார்க்க ஒரு கருவியை எழுதலாம், இல்லையெனில் இணைப்பைச் சேர்க்கலாம்.

பகுத்தறிவு

ஏற்கனவே IPFS பற்றி நன்கு தெரிந்தவர்களில், IPFSக்கு ஆதரவாகவும் எதிராகவும் வாதங்கள் உள்ளன. அடிப்படையில், நேற்று முன் தினம் விவாதம் மற்றும் மீண்டும் IPFS இல் தோண்ட என்னைத் தூண்டியது. மேலும் மேற்கூறிய விவாதத்தைப் பொறுத்தவரை: பேசியவர்களின் கொடுக்கப்பட்ட எந்த வாதங்களுக்கும் நான் கடுமையாக எதிராக இருக்கிறேன் என்று சொல்ல முடியாது (ஒன்றரை புரோகிராமர்கள் IPFS ஐப் பயன்படுத்துகிறார்கள் என்பதில் எனக்கு உடன்பாடில்லை). பொதுவாக, இருவரும் தங்கள் சொந்த வழியில் சரியானவர்கள் (குறிப்பாக காசோலைகள் பற்றிய கருத்து சிந்திக்க வைக்கிறது). ஆனால் தார்மீக மற்றும் சட்ட மதிப்பீட்டை நாம் ஒதுக்கி வைத்தால், இந்த தொழில்நுட்பத்தின் தொழில்நுட்ப மதிப்பீட்டை யார் வழங்குவார்கள்? தனிப்பட்ட முறையில், "இது நிச்சயமாக அவசியம், அதற்கு சில வாய்ப்புகள் உள்ளன" என்று எனக்கு ஒருவித உள் உணர்வு உள்ளது. ஆனால் ஏன் சரியாக, தெளிவான சூத்திரம் இல்லை. தற்போதுள்ள மையப்படுத்தப்பட்ட கருவிகளைப் பார்த்தால், பல விஷயங்களில் அவை மிகவும் முன்னால் உள்ளன (செயல்பாட்டின் நிலைத்தன்மை, செயல்பாட்டின் வேகம், கட்டுப்படுத்துதல் போன்றவை). ஆயினும்கூட, எனக்கு ஒரு யோசனை உள்ளது, அது அர்த்தமுள்ளதாக தோன்றுகிறது மற்றும் இது போன்ற பரவலாக்கப்பட்ட அமைப்புகள் இல்லாமல் செயல்படுத்த முடியாது. நிச்சயமாக, நான் மிகவும் கடினமாகத் தள்ளுகிறேன், ஆனால் நான் அதை இந்த வழியில் உருவாக்குவேன்: இணையத்தில் தகவல்களைப் பரப்புவதற்கான கொள்கை மாற்றப்பட வேண்டும்.

என்னை விவரிக்க விடு. நீங்கள் இதைப் பற்றி இந்த வழியில் நினைத்தால், இப்போது நாங்கள் "நான் அதைக் கொடுத்தவர் அதைப் பாதுகாப்பார் என்று நம்புகிறேன், அது யாருக்காக விரும்பப்படாத ஒருவரால் இழக்கப்படாது அல்லது பெறப்படாது" என்ற கொள்கையின்படி தகவல்களை விநியோகிக்கிறோம். உதாரணமாக, பல்வேறு மின்னஞ்சல் சேவைகள், கிளவுட் ஸ்டோரேஜ் போன்றவற்றைக் கருத்தில் கொள்வது எளிது. இறுதியில் நம்மிடம் என்ன இருக்கிறது? ஹப் ஆன் ஹப் தகவல் பாதுகாப்பு முதல் வரிசையில் உள்ளது மற்றும் கிட்டத்தட்ட ஒவ்வொரு நாளும் மற்றொரு உலகளாவிய கசிவு பற்றிய செய்திகளைப் பெறுகிறோம். கொள்கையளவில், மிகவும் சுவாரஸ்யமான விஷயங்கள் அனைத்தும் <இரண்டாக> அற்புதமானதில் பட்டியலிடப்பட்டுள்ளன கட்டுரை கோடை காலம் கிட்டத்தட்ட முடிந்துவிட்டது. கிட்டத்தட்ட வெளியிடப்படாத தரவு எதுவும் இல்லை. அதாவது, முக்கிய இணைய ஜாம்பவான்கள் பெரியதாகவும் பெரியதாகவும் மாறி வருகின்றன, அவை மேலும் மேலும் தகவல்களைக் குவிக்கின்றன, மேலும் இதுபோன்ற கசிவுகள் ஒரு வகையான தகவல் அணு வெடிப்புகள். இது இதுவரை நடந்ததில்லை, இதோ மீண்டும். அதே நேரத்தில், ஆபத்துகள் இருப்பதை பலர் புரிந்து கொண்டாலும், அவர்கள் தங்கள் தரவை மூன்றாம் தரப்பு நிறுவனங்களுக்கு தொடர்ந்து நம்புவார்கள். முதலாவதாக, அதிக மாற்று இல்லை, இரண்டாவதாக, அவர்கள் எல்லா ஓட்டைகளையும் இணைத்துவிட்டதாக அவர்கள் உறுதியளிக்கிறார்கள், இது மீண்டும் நடக்காது.

நான் என்ன விருப்பத்தைப் பார்க்கிறேன்? தரவு ஆரம்பத்தில் வெளிப்படையாக விநியோகிக்கப்பட வேண்டும் என்று எனக்குத் தோன்றுகிறது. ஆனால் இந்த விஷயத்தில் வெளிப்படையானது எல்லாவற்றையும் படிக்க எளிதாக இருக்க வேண்டும் என்று அர்த்தமல்ல. நான் சேமிப்பு மற்றும் விநியோகத்தின் திறந்த தன்மையைப் பற்றி பேசுகிறேன், ஆனால் வாசிப்பில் முழுமையான திறந்தநிலை அல்ல. பொது விசைகளுடன் தகவல் விநியோகிக்கப்பட வேண்டும் என்று நான் கருதுகிறேன். எல்லாவற்றிற்கும் மேலாக, பொது/தனியார் விசைகளின் கொள்கை ஏற்கனவே இணையத்தைப் போலவே பழமையானது. தகவல் ரகசியமாக இல்லை மற்றும் ஒரு பரந்த வட்டத்தை நோக்கமாகக் கொண்டதாக இருந்தால், அது உடனடியாக ஒரு பொது விசையுடன் இடுகையிடப்படும் (ஆனால் இன்னும் மறைகுறியாக்கப்பட்ட வடிவத்தில், ஏற்கனவே உள்ள விசையுடன் எவரும் அதை மறைகுறியாக்க முடியும்). இல்லையெனில், அது பொது விசை இல்லாமல் இடுகையிடப்படும், மேலும் இந்தத் தகவலை அணுக வேண்டியவருக்கு விசை மாற்றப்படும். அதே நேரத்தில், அதைப் படிக்க வேண்டிய ஒருவரிடம் ஒரு சாவி மட்டுமே இருக்க வேண்டும், மேலும் இந்த தகவலை எங்கு பெறுவது என்பது அவருக்கு முக்கியமல்ல - அவர் அதை நெட்வொர்க்கிலிருந்து வெறுமனே இழுக்கிறார் (இது உள்ளடக்கத்தின் மூலம் விநியோகிப்பதற்கான புதிய கொள்கை, மற்றும் அல்ல முகவரி மூலம்).

எனவே, ஒரு பெரிய தாக்குதலுக்கு, தாக்குபவர்கள் அதிக எண்ணிக்கையிலான தனிப்பட்ட விசைகளைப் பெற வேண்டும், மேலும் இது ஒரே இடத்தில் செய்யப்பட வாய்ப்பில்லை. இந்த பணி, நான் பார்ப்பது போல், ஒரு குறிப்பிட்ட சேவையை ஹேக் செய்வதை விட மிகவும் கடினம்.

இங்கே மற்றொரு சிக்கல் வருகிறது: ஆசிரியர் உரிமையை உறுதிப்படுத்துதல். இப்போது இணையத்தில் எங்கள் நண்பர்கள் எழுதிய பல மேற்கோள்களைக் காணலாம். ஆனால் அவர்கள்தான் எழுதினர் என்பதற்கு எங்கே உத்தரவாதம்? இப்போது, ​​அத்தகைய ஒவ்வொரு பதிவும் டிஜிட்டல் கையொப்பத்துடன் இருந்தால், அது மிகவும் எளிமையானதாக இருக்கும். இந்த தகவல் எங்குள்ளது என்பது முக்கியமல்ல, முக்கிய விஷயம் கையொப்பம், இது வெளிப்படையாக மோசடி செய்வது கடினம்.

இங்கே சுவாரஸ்யமானது இங்கே: 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.................

நான் ஒரு பாதுகாப்பு நிபுணர் அல்ல, இதை எவ்வாறு சரியாகப் பயன்படுத்துவது என்று என்னால் சரியாகத் தெரியவில்லை, ஆனால் இந்த விசைகள் IPFS முனைகளுக்கு இடையே பரிமாற்ற அளவில் பயன்படுத்தப்படுவதாக எனக்குத் தோன்றுகிறது. மேலும் js-ipfs மற்றும் போன்ற எடுத்துக்காட்டு திட்டங்கள் சுற்றுப்பாதை-db, இது வேலை செய்யும் orbit.chat. அதாவது, கோட்பாட்டளவில், ஒவ்வொரு சாதனமும் (மொபைல் மற்றும் மட்டுமின்றி) அதன் சொந்த குறியாக்கம் மற்றும் மறைகுறியாக்க இயந்திரங்களுடன் எளிதாக பொருத்தப்படலாம். இந்த விஷயத்தில், எஞ்சியிருப்பது அனைவரும் தங்கள் தனிப்பட்ட விசைகளைப் பாதுகாப்பதில் கவனம் செலுத்த வேண்டும், மேலும் ஒவ்வொருவரும் தங்கள் சொந்த பாதுகாப்பிற்கு பொறுப்பாவார்கள், மேலும் சில பிரபலமான இணைய நிறுவனங்களின் மற்றொரு மனித காரணிக்கு பணயக்கைதியாக இருக்கக்கூடாது.

பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.

IPFS பற்றி நீங்கள் கேள்விப்பட்டிருக்கிறீர்களா?

  • IPFS பற்றி நான் கேள்விப்பட்டதே இல்லை, ஆனால் அது சுவாரஸ்யமாக இருக்கிறது

  • நான் கேட்கவில்லை, கேட்க விரும்பவில்லை

  • நான் அதைப் பற்றி கேள்விப்பட்டேன், ஆனால் எனக்கு ஆர்வம் இல்லை

  • நான் அதைக் கேட்டேன், ஆனால் அது புரியவில்லை, ஆனால் இப்போது அது சுவாரஸ்யமானது

  • நான் நீண்ட காலமாக IPFS ஐ தீவிரமாக பயன்படுத்துகிறேன்.

69 பயனர்கள் வாக்களித்தனர். 13 பயனர்கள் வாக்களிக்கவில்லை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்