Создайте многоузловую частную сеть IPFS
2019-09-09 · 1126 · 12 minЭта статья представляет собой простое руководство по построению частной сети IPFS, согласно этой статье вы можете создать простую демонстрацию сети IPFS, вы можете получить один и тот же файл на разных узлах.
На самом деле, мне не нужно писать этот учебник, примеры на GitHub четко написаны, но когда я ищу в Google соответствующие материалы на китайском языке, все страницы связаны с майнингом «(chahan)», и есть несколько статей, которые действительно применяются. (╯_╰)
Связанные статьи: [Поисковая система электронных книг i-book.in] (https://tstrs.me/1458.html) Среда: Всего два узла, а именно «главный узел» и «дочерний узел».
Все системы являются сервером Ubuntu 16.04.
# Установка
Скачать программу IPFS:
wget https://1.i-book.in/ipfs/QmcB55KNpU1E8uvqFtFa9QTFWPTHnfSmC1N7Hg6c5qYYX9 -O go-ipfs_v0.4.22_linux-amd64.tar.gz
Расстегнуть:
tar xvfz go-ipfs_v0.4.22_linux-amd64.tar.gz
Установка:
CD GO-IPFS/
sudo ./install.sh
Вам нужно указать место хранения IPFS, пропустить его, если оно вам не нужно, и инициализировать его напрямую.
export IPFS_PATH="абсолютный путь"
Инициализировать:
Инициализация IPFS
Если выведен следующий код, инициализация выполнена успешно:
генерация 2048-битной пары ключей RSA... Договорились
идентификатор однорангового узла: QmTvSJEh3xarHMUj6uamQwnnvbYXH4vjttAehKjBvixxJH
Для начала введите:
ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
Этот шаг необходимо повторить на «всех узлах».
# Создание общего ключа
Установите golang-go:
sudo apt-get install golang-go
Инструменты компиляции:
Иди github.com/Kubuxu/go-ipfs-swarm-key-gen
CD $GOPATH
cd go/src/github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/
Перейти к сборке
Сгенерируйте ключ:
./ipfs-swarm-key-gen > ~/.ipfs/swarm.key
Этот шаг выполняется только на «главном узле».
Перенесите сгенерированный файл роя .key в папку ~/.ipfs/' всех дочерних узлов, которые должны присоединиться к VPC.
# Настройка IPFS
Чтобы удалить узел IPFS по умолчанию, выполните следующие действия.
IPFS Bootstrap RM All
Чтобы просмотреть идентификатор узла, выполните следующие действия.
Идентификатор IPFS
Система выведет следующее, запомните часть идентификатора:
{
"ID": "QmTvTNFh3xarHMUj6uamQwnnvbZYE1vjttAeCjgBvixxJH",
"PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEPn7J/DSijRAT/ QD8rTVjF8nCgEnv0jTQYWeDbC9dEVmTM8WUoh2vK0s3qSvpfxNAHkvgcp5kJwVbm0kZEwcbUVzcrXKfdTgEcSJ0CDptaWQEH40wIUOkhwyhIZAMeZL0Q0S9k8Rt0iVk3ILpapcW9hKu1/ 7Ms5lntdpVmrxOhM1LZZ7lUjXkORyN+qu/uNMi0/KeH2I37cwv9PWbxYuak7o1mlI+sIChD32uO8DlL3zX1VoWHmftMCuysOCGhosrO64pMAGY9jUqf85X9cFaetg1yukV8yslSsRY/ 8phqNNAlhCf2TdbDRAZbHp8jQjrU3THwOALN+6kU04WuhfNAgMBAAE=",
"Адреса": null,
"AgentVersion": "go-ipfs/0.4.22/",
"ProtocolVersion": "ipfs/0.1.0"
}
Добавьте 'дочерний узел' на 'главный' сервер:
ipfs bootstrap add /ip4/Your-Node-IP/tcp/4001/ipfs/QmTvTNFh3xarHMUj6uamQwnnvbZYE1vjttAeCjgBvixxJH
Добавьте «Главный узел» на сервер дочернего узла:
ipfs bootstrap add /ip4/Your-Node-IP/tcp/4001/ipfs/QmYNYDp5PEi64dgTYRdci3XhtmQEnZVBQTATinWw6fq3Ac
# Тестирование сети IFPS
После того, как все узлы добавлены, используйте команду «демон ipfs» для запуска IPFS, и отобразится следующий вывод, указывающий на то, что запуск прошел успешно и проблем с файлом конфигурации нет:
Инициализация демона...
Версия Go-IPFS: 0.4.22-
Версия репозитория: 7
Версия системы: amd64/linux
Версия Golang: go1.12.7
Swarm ограничен частной сетью одноранговых узлов с ключом swarm
Отпечаток ключа роя: 6ac2fea09ce0c68a2630b1f51f614dfb
Прослушивание роя на /ip4/Your-Node-IP/tcp/4001
Прослушивание роя на /ip4/127.0.0.1/tcp/4001
Прослушивание роя на /ip4/172.17.0.1/tcp/4001
Прослушивание роя на /p2p-circuit
Рой объявляет /ip4/Your-Node-IP/tcp/4001
Рой объявляет /ip4/127.0.0.1/tcp/4001
Рой объявляет /ip4/172.17.0.1/tcp/4001
API-сервер, прослушивающий /ip4/127.0.0.1/tcp/5001
Веб-интерфейс: http://127.0.0.1:5001/webui
Сервер шлюза (только для чтения) прослушивает /ip4/127.0.0.1/tcp/8080
Демон готов
Теперь, когда сеть запущена, теперь, чтобы проверить подключение сети, используйте команду «ipfs stats bitswap», чтобы узнать, сколько узлов теперь подключено IPFS:
Статус Bitswap
Обеспечивает буфер: 0 / 256
Получено блоков: 0
Отправлено блоков: 1
Получено данных: 0
Отправлено данных: 23
Получено блоков DUP: 0
Получено данных DUP: 0
Список желаний [0 ключей]
Партнеры [1]
где «партнеры» — это количество подключенных узлов, потому что сейчас у нас только два узла, поэтому «партнеры» — это «1».
Тестовый перенос текста
Создайте новый текстовый файл на главном узле:
Эхо «Привет, Saltyleo» >> тест.txt
Добавьте его в сеть IPFS:
IPFS добавляет тест.txt
Печать следующих символов указывает на то, что файл был загружен:
добавлен тест QmPxEMHme51cx6DNDeqisT78xp1zdVHfH4utPUyfZWNAwk.txt
15 Б / 15 Б [==============================================================
Чтобы просмотреть файл, выполните следующие действия.
ipfs cat QmPxEMHme51cx6DNDeqisT78xp1zdVHfH4utPUyfZWNAwk
Повторите описанную выше операцию на дочернем узле, и на выходе будет «hello saltyleo», указывающий на то, что VPC подключен.
# Постскриптум
Про шлюзовую часть писать не буду, во всяком случае, на GitHub есть примеры, главное, чтобы были заданы iptables, nginx и доменные имена. Проблема со скоростью доступа IPFS, я предполагаю, что GFW очистил этот вид P2P-трафика, в результате чего доступность внутренних узлов невысока, поэтому скорость передачи файлов низкая. Это особенность Поднебесной, и решить ее никак нельзя. «(плоть через стену)»
Когда ipfs добавляет, файл размером менее 1 КБ - это просто скорость распространения света, более 1 КБ будет медленнее, потому что менее 1 КБ будет напрямую транслироваться в сети DHT, текст будет поступать при поступлении широковещательной передачи, более 1 КБ необходимо сначала «получить широковещательную рассылку», > «найти узел», > «найти файл» > «передать», поэтому это будет медленнее.
У этого протокола все еще есть много недостатков, таких как репликация узлов, которая не имеет простой команды, но требует громоздкой настройки для реализации. И когда он станет узлом публичной сети, трафик будет использоваться очень быстро, в среднем более десятка ГБ в день, к счастью, мой узел тарифицируется по широкополосному доступу, иначе плата за трафик не может быть сожжена. И скорость, с которой этот файл высевается, слишком трогательна и слишком медленна!!!
Наконец, я сказал открыть исходный код базы данных, я проконсультировался с некоторыми друзьями, которые изучали право, они не рекомендовали мне это делать, потому что если личное использование, небольшой разброс, даже если вы хотите заниматься вами, вы сообщите вам, если я открою исходный код, то кто-то будет использовать эту базу данных для получения прибыли, когда они не смогут найти инициатора, они найдут меня по корню и подумают, что я незаконно наживаюсь, поэтому я отказался от открытого исходного кода. Тем не менее, [i-book.in] (https://i-book.in) не будет закрыт, если нет форс-мажорных обстоятельств. Плата за контент внутри не взимается, реклама добавляться не будет, а база данных неуклонно растет, и я обновлю статью «Расширение Алголии» после того, как она преодолеет отметку в 1 Вт.
Уведомление об авторском праве :
Эта статья написана SaltyLeo. Если в содержимом есть неточности, пожалуйста, оставьте комментарий. При цитировании или публикации этой статьи, пожалуйста, придерживайтесь условий лицензии CC BY-NC-SA: указание авторства, некоммерческое использование и совместное распространение в том же виде!Комментарий :
Читать далее :
Недавно я редизайнил i-book.in и обновил скрипт автоматизации, конкретный код выкладывать не буду, но все это есть на GitHub.
Эта статья представляет собой простое руководство по созданию частной сети IPFS.Согласно этой статье, вы можете создать простую демонстрацию сети IPFS и получить один и тот же файл на разных узлах.
Сделайте смайлик, который вам нравится. Таким образом и карту находить удобнее, и сражаться с картой не спеша!!
Установите и настройте очень простую и удобную систему обратной связи с пользователями
Служба KMS — это система активации, разработанная Microsoft для крупных предприятий.
Популярные теги
Другие языки
Информация о сайте
Теги: 236
Просмотры страниц: 12,891,025
загрузка занимает время: 18.58 ms
Ver : 3.0.1