درد کان سواء IPFS (پر اهو درست ناهي)

درد کان سواء IPFS (پر اهو درست ناهي)

ان حقيقت جي باوجود ته Habré اڳ ۾ ئي هو 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-اپڊيٽ ورزن - في الحال انسٽال ٿيل ورزن کي ڏسڻ لاءِ (جيستائين اسان وٽ 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 منتظم (GitHubبندرگاهه 5001 تي.
  2. ٻاهرين API پورٽ 8080 تي (صرف پڙهڻ لاءِ).

ايترو پري، ٻنهي بندرگاهن (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

مٿي ڏنل پڙهڻ واري فائل کي کولڻ گهرجي.

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

ويب انٽرفيس کي کولڻ گهرجي.

جيڪڏهن webui توهان لاءِ ڪم ڪري ٿي، ته پوءِ IPFS سيٽنگون سڌو سنئون ان ۾ تبديل ڪري سگھجن ٿيون، بشمول انگ اکر ڏسڻ، پر هيٺ مان غور ڪندس ڪنفيگريشن آپشنز تي سڌو سنئون config فائل ذريعي، جيڪو عام طور تي نازڪ ناهي. اهو صرف اهو بهتر آهي ته ياد رکو ته ترتيب ڪٿي آهي ۽ ان سان ڇا ڪجي، ٻي صورت ۾ جيڪڏهن ويب جو منهن ڪم نه ڪندو، اهو وڌيڪ ڏکيو ٿيندو.

توهان جي سرور سان ڪم ڪرڻ لاءِ ويب انٽرفيس قائم ڪرڻ

هتي پهريون نقصان آهي، جنهن ۾ اٽڪل ٽي ڪلاڪ لڳا.

جيڪڏهن توهان هڪ ٻاهرين سرور تي IPFS انسٽال ڪيو، پر مقامي طور تي 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

۽ ipfs کي ٻيهر شروع ڪريو --mount پرچم سان

ipfs daemon --mount

توهان ٻين هنڌن تي فولڊر ٺاهي سگهو ٿا ۽ انهن ڏانهن رستو بيان ڪري سگهو ٿا ipfs daemon parameters -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 to "FuseAllowOther": صحيح. پر اهو سڀ ڪجهه ناهي. جيڪڏهن توهان IPFS کي روٽ طور هلائيندا آهيو، پوء سڀ ڪجهه ٺيڪ آهي. ۽ جيڪڏهن باقاعده استعمال ڪندڙ جي طرفان (جيتوڻيڪ sudo)، پوء توهان کي هڪ غلطي ملندي

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

انهي حالت ۾، توهان کي تبديل ڪرڻ جي ضرورت آهي /etc/fuse.conf کي غير تبصرو ڪندي #user_allow_other لائن.

ان کان پوء، 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 نوڊس ٻئي ٻئي سرور تي ۽ مقامي طور تي نصب ٿيل آھن. هڪ خارجي سرور تي، اسان ڪجهه فائل شامل ڪندا آهيون ۽ ان کي حاصل ڪرڻ جي ڪوشش ڪندا آهيون IPFS ذريعي مقامي طور تي CID پاران. ڇا ٿيندو؟ يقينن، مقامي سرور گهڻو ڪري اسان جي خارجي سرور بابت ڪجهه به نه ڄاڻندو آهي ۽ صرف سي آء ڊي پاران فائل ڳولڻ جي ڪوشش ڪندو "پڇڻ" سڀني IPFS ساٿين وٽ موجود آهي (جنهن سان اهو اڳ ۾ ئي منظم ڪيو ويو آهي "واقف حاصل ڪريو"). جيڪي موڙ ۾ ٻين کان پڇندا. ۽ ائين ئي، جيستائين فائل ملي ٿي. دراصل، ساڳي شيء ٿئي ٿي جڏهن اسان سرڪاري گيٽ ذريعي فائل حاصل ڪرڻ جي ڪوشش ڪندا آهيون ipfs.io. جيڪڏھن توھان خوش قسمت آھيو، فائل ڪجھ سيڪنڊن ۾ ملي ويندي. ۽ جيڪڏهن نه، اهو ڪجهه منٽن ۾ به نه ملندو، جيڪو ڪم جي آرام کي تمام گهڻو متاثر ڪري ٿو. پر اسان ڄاڻون ٿا ته هي فائل پهرين ڪٿي ظاهر ٿيندي. پوء ڇو نه اسان کي فوري طور تي اسان جي مقامي سرور کي ٻڌايو وڃي ته "پهرين اتي ڳولھيو"؟ ظاهر آهي، اهو ٿي سگهي ٿو.

1. اسان ريموٽ سرور ڏانهن وڃو ۽ ڏسو ~/.ipfs/config config

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

2. هلو sudo service ipfs اسٽيٽس ۽ ڏسو ان ۾ Swarm entries، مثال طور:

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

3. اسان ان مان شامل ڪندا آهيون فارم جو عام پتو "/ip4/ip_your_server/tcp/4001/ipfs/$PeerID".

4. اعتبار لاءِ، اسان ڪوشش ڪنداسين ته ھن ايڊريس کي پنھنجي مقامي ويبوئي ذريعي ساٿين ۾ شامل ڪريو.

درد کان سواء IPFS (پر اهو درست ناهي)

5. جيڪڏھن سڀ ڪجھ ٺيڪ آھي، کوليو لوڪل config ~ / .ipfs/config، ان ۾ ”بوٽ اسٽريپ“ ڳولھيو: [...
۽ مليل ايڊريس کي پهرين صف ۾ شامل ڪريو.

IPFS ٻيهر شروع ڪريو.

ھاڻي اچو ته فائل کي خارجي سرور ۾ شامل ڪريو ۽ ان کي مقامي سرور تي درخواست ڪرڻ جي ڪوشش ڪريو. تيز پرواز ڪرڻ گهرجي.

پر هي ڪارڪردگي اڃا تائين مستحڪم نه آهي. جيتري قدر مان سمجهان ٿو، جيتوڻيڪ اسان بوٽ اسٽريپ ۾ پير صاحب جو پتو بيان ڪريون ٿا، ipfs آپريشن دوران ساٿين سان فعال ڪنيڪشن جي فهرست کي تبديل ڪري ٿو. ڪنهن به صورت ۾، مستقل دعوتن جي وضاحت ڪرڻ جي امڪان جي باري ۾ ان ۽ خواهش تي بحث جاري آهي. هتي ۽ اهو لڳي ٿو سمجهيو ڪجھ ڪارڪردگي شامل ڪريو [ايميل محفوظ ٿيل]+

موجوده ساٿين جي فهرست ٻنهي ۾ ڏسي سگهجي ٿو webui ۽ ٽرمينل ۾.

ipfs swarm peers

۽ هتي ۽ اتي توهان پنهنجي دعوت کي دستي طور شامل ڪري سگهو ٿا.

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

جيستائين هن ڪارڪردگي کي بهتر نه ڪيو ويو آهي، توهان هڪ اوزار لکي سگهو ٿا هڪ ڪنيڪشن جي جانچ ڪرڻ لاءِ گهربل پير صاحب ۽، جيڪڏهن نه، ڪنيڪشن شامل ڪرڻ لاءِ.

سبب ڏيڻ

انهن مان جيڪي اڳ ۾ ئي واقف آهن IPFS، اتي ٻئي دليل آهن IPFS جي خلاف ۽ خلاف. بنيادي طور تي، ڪالهه بحث ۽ مون کي ٻيهر IPFS ۾ کڙو ڪرڻ لاءِ چيو. ۽ مٿي ذڪر ڪيل بحث جي حوالي سان: مان اهو نٿو چئي سگهان ته آئون انهن ڳالهين جي ڪنهن به دليل جي سختي سان مخالفت ڪريان ٿو (مان صرف ان حقيقت سان متفق آهيان ته هڪ اڌ پروگرامر IPFS استعمال ڪن ٿا). عام طور تي، ٻئي پنهنجي طريقي سان صحيح آهن (خاص طور تي چيڪن بابت تبصرو توهان کي سوچڻ تي مجبور ڪري ٿو). پر جيڪڏهن اسان اخلاقي ۽ قانوني تشخيص کي رد ڪري ڇڏيو، ڪير هن ٽيڪنالاجي جو ٽيڪنيڪل جائزو ڏيندو؟ ذاتي طور تي، مون کي ڪجهه قسم جو اندروني احساس آهي ته "اهو لازمي طور تي ٿيڻ گهرجي، ان جا ڪجهه امڪان آهن." پر ڇو واقعي، ڪو واضح فارموليشن ناهي. جهڙوڪ، جيڪڏهن توهان موجوده مرڪزي اوزار تي نظر اچن ٿا، پوء ڪيترن ئي معاملن ۾ اهي تمام گهڻو اڳتي آهن (استحکام، رفتار، انتظام، وغيره). ان جي باوجود، مون وٽ ھڪڙو خيال آھي جيڪو سمجھ ۾ اچي ٿو ۽ جيڪو مشڪل سان لاڳو ٿي سگھي ٿو ان کان سواء غير معياري نظام. يقينن، مان تمام گهڻو جھلي رهيو آهيان، پر مان ان کي هن طريقي سان ترتيب ڏيندس: انٽرنيٽ تي معلومات کي ڦهلائڻ جو اصول تبديل ٿيڻ گهرجي.

مون کي وضاحت ڪرڻ ڏيو. جيڪڏهن توهان ان جي باري ۾ هن طريقي سان سوچيو ٿا، هاڻي اسان اصول جي مطابق معلومات ورهائي رهيا آهيون "مون کي اميد آهي ته جنهن کي مون ڏنو آهي اهو ان جي حفاظت ڪندو ۽ اهو ڪنهن کي وڃائڻ يا وصول نه ٿيندو جنهن لاء اهو ارادو نه ڪيو ويو هو." مثال طور، مختلف اي ميل سروسز، ڪلائوڊ اسٽوريج، وغيره تي غور ڪرڻ آسان آهي. ۽ آخر اسان وٽ ڇا آهي؟ حب تي حب معلومات سيڪيورٽي پهرين لڪير تي آهي ۽ تقريبن هر روز اسان کي ٻي عالمي ليڪ بابت خبر ملي ٿي. اصول ۾، سڀ کان وڌيڪ دلچسپ شيون ۾ درج ٿيل آهن <irony> شاندار مضمون اونهاري لڳ ڀڳ ختم ٿي وئي آهي. اتي لڳ ڀڳ ڪو به unleaked ڊيٽا باقي آهي. اهو آهي، مکيه انٽرنيٽ جا وڏا وڏا ٿي رهيا آهن، اهي وڌيڪ ۽ وڌيڪ معلومات گڏ ڪري رهيا آهن، ۽ اهڙي ليڪ هڪ قسم جي معلومات جو ائٽمي ڌماڪو آهي. اهو اڳ ڪڏهن به نه ٿيو آهي، ۽ هتي اهو ٻيهر آهي. ساڳي ئي وقت، جيتوڻيڪ ڪيترائي سمجهن ٿا ته اتي خطرا آهن، اهي ٽئين پارٽي جي ڪمپنين تي انهن جي ڊيٽا تي ڀروسو جاري رکندا. پهرين ته، گهڻو متبادل نه آهي، ۽ ٻيو، اهي واعدو ڪن ٿا ته انهن سڀني سوراخ کي پڪڙي ڇڏيو آهي ۽ اهو ڪڏهن به نه ٿيندو.

مون کي ڪهڙو اختيار نظر اچي ٿو؟ اهو مون کي لڳي ٿو ته ڊيٽا کي شروعات ۾ کليل طور تي ورهايو وڃي. پر هن معاملي ۾ کليل جو مطلب نه آهي ته سڀڪنھن شيء کي پڙهڻ لاء آسان هجڻ گهرجي. مان اسٽوريج ۽ ورڇ جي کليل هجڻ بابت ڳالهائي رهيو آهيان، پر پڙهڻ ۾ مڪمل کليل نه. مان سمجهان ٿو ته معلومات کي عوامي ڪنجين سان ورهايو وڃي. سڀ کان پوء، عوامي / نجي چابمن جو اصول اڳ ۾ ئي پراڻي آهي، تقريبن انٽرنيٽ وانگر. جيڪڏهن معلومات رازداري نه آهي ۽ هڪ وسيع دائري لاء ارادو ڪيو ويو آهي، پوء ان کي فوري طور تي هڪ عوامي چيڪ سان گڏ ڪيو ويندو آهي (پر اڃا به انڪوڊ ٿيل فارم ۾، صرف ڪو به ان کي دستياب ڪيل چاٻي سان رد ڪري سگهي ٿو). ۽ جيڪڏهن نه، ته پوء ان کي هڪ عوامي چيڪ کان سواء رکيل آهي، ۽ ڪنجي پاڻ کي منتقل ڪيو ويو آهي ته هن معلومات تائين رسائي حاصل ڪرڻ گهرجي. ساڳئي وقت، جنهن کي پڙهڻ گهرجي، ان کي صرف هڪ ڪنجي هجڻ گهرجي، ۽ اها معلومات ڪٿي حاصل ڪرڻ گهرجي، هن کي حقيقت ۾ نه وڌڻ گهرجي - هو صرف ان کي نيٽ ورڪ تان ڇڪي ٿو (هي مواد جي ورڇ جو نئون اصول آهي، نه. پتو).

اهڙيء طرح، هڪ وڏي حملي لاء، حملي ڪندڙن کي وڏي تعداد ۾ نجي چابيون حاصل ڪرڻ جي ضرورت پوندي، ۽ اهو ممڪن ناهي ته هڪ جاء تي ڪيو وڃي. هي ڪم، جيئن مون کي ڏسڻ ۾ اچي ٿو، هڪ خاص خدمت کي هيڪ ڪرڻ کان وڌيڪ ڏکيو آهي.

۽ هتي هڪ ٻيو مسئلو بند آهي: ليکڪ جي تصديق. هاڻي انٽرنيٽ تي توهان اسان جي دوستن جا لکيل ڪيترائي حوالا ڳولي سگهو ٿا. پر ان ڳالهه جي ضمانت ڪٿي آهي ته اهي ئي هئا جن انهن کي لکيو؟ هاڻي، جيڪڏهن هر اهڙي رڪارڊ سان گڏ هڪ ڊجيٽل دستخط سان گڏ هوندو، اهو تمام آسان ٿيندو. ۽ اهو مسئلو ناهي ته هي معلومات ڪٿي آهي، بنيادي شيء دستخط آهي، جيڪو، يقينا، جڙڻ ڏکيو آهي.

۽ هتي اهو آهي جيڪو هتي دلچسپ آهي: 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

تبصرو شامل ڪريو