Как использовать IPFS из приложения Javascript без запуска узла ipfs?

У меня есть приложение javascript (ReactJs), которое будет работать как мобильное приложение для Android на мобильных устройствах. Я не хочу запускать полный узел IPFS на мобильном устройстве, потому что он будет потреблять много памяти и энергии. Как я могу подключить свое приложение к IPFS тогда?

Я видел https://github.com/ipfs/js-ipfs-api, но оно не выглядит снова пригодным для мобильного устройства, так как оно работает как отдельная служба.

Возможно, мне нужно подключиться к некоторому узлу IPFS в Интернете через API IPFS ( https://ipfs.io/docs/api/), однако есть ли способ обнаружить работающие узлы во время выполнения, а также выбрать самый быстрый / ближайший один?

2 ответа

Решение

У вас есть несколько вариантов здесь:

  • Вы можете разместить узел IPFS в некотором облаке и подключить к нему все ваши мобильные устройства.
  • Запустить js-ipfs экземпляр узла, когда он вам нужен, и мусор, собирающий его потом.

Вы разрабатываете PWA? js-ipfs хорошо работает на Chrome в телефонах Android, проверьте https://github.com/ipfs/js-ipfs/tree/master/examples чтобы узнать, как начать работу.

По моему опыту, по крайней мере до сих пор, на самом деле не существует хороших упаковщиков для IPFS ни на одном языке. По крайней мере, пока. Но это нормально, потому что им действительно просто пользоваться. Просто помните, что при добавлении файла он возвращает хэши в заголовках, а не в теле ответа, как вы могли ожидать. Это действительно испортило меня. Кроме этого, в этом нет ничего.

Если вам не нужно запускать его... вы действительно должны запустить свой собственный узел ipfs. Это единственный способ гарантировать, что ваш контент останется доступным, когда люди этого захотят. Время жизни кеша в IPFS, похоже, составляет около 8 часов, что довольно удивительно, но это не заменит то, чтобы быть частью сети.

Тем не менее, вы можете найти общедоступные узлы, которые доступны для записи. Вам нужно будет выполнить поиск в Google для этого, но я абсолютно уверен, что они там.

Вы также можете посмотреть такие каналы, как Steemit, для людей, которые активно работают над проектами IPFS. Мне там повезло. Много ответов о IPFS, Swarm, Web3 и Dapps в целом.

О, и чтобы проверить, доступен ли для записи узел, попробуйте это:

<form action="http://[domain_name]:[port_number]/ipfs/api/v0/add" enctype="multipart/form-data" method="post">
    <input type="file" name="image" accept="image/*"/>
    <input type="submit"/>
</form>

Удачи!

Другие вопросы по тегам