Можно ли хранить изображения на блокчейне Ethereum? - PullRequest
0 голосов
/ 25 октября 2018

Я начинаю изучать Солидность, и у меня есть некоторые идеи.На данный момент мне любопытно, можно ли поместить файлы / изображения в блокчейн.Я думаю, что альтернативой может быть какой-то гибридный подход, когда некоторые вещи находятся в блокчейне, а некоторые находятся в более традиционном файловом хранилище и используют адресные ссылки для его получения.Одна проблема, которую я предвижу, это цена за загрузку файлов.

Ответы [ 4 ]

0 голосов
/ 27 октября 2018

Я полностью согласен с @Peter Hall, что хранение изображения на ethereum слишком дорого.


Итак, что вы можете сделать вместо этого?

  • Вы можете сохранить изображение в IPFS.IPFS дает вам фиксированную длину хеша.Теперь вы можете хранить этот хеш в Ethereum, и он стоит дешевле, чем другой способ.
0 голосов
/ 25 октября 2018

Технически, да, вы можете хранить очень маленькие изображения.Но вы не должны.

Предпочтительная альтернатива

Сохраните изображение в распределенном файловом хранилище (например, Swarm или IPFS) и сохраните хэш изображения в цепочке, если ондействительно важно, чтобы изображение было достоверно незапятнанным.Если это не важно, то, возможно, ничего не надевайте на цепь.

Какой там технический предел?

Прежде всего, газовый лимит блока.В настоящее время сеть Ethereum имеет ограничение в 8 Мбайт.Каждые новые 32 байта хранилища используют 20 тыс. ГазаТаким образом, вы не можете хранить данные размером более 12,8 КБ, потому что они не помещаются в блок.

Почему я не должен использовать их для небольших файлов?

Блокчейнне был разработан для такого использования (именно поэтому существуют другие проекты, такие как Swarm и IPFS).Он раздувает и замедляет все, не предоставляя вам никаких преимуществ по сравнению с другими системами хранения файлов.По аналогии вы, как правило, тоже не храните файлы в базе данных SQL.

0 голосов
/ 25 октября 2018

Можно ли хранить изображения на блокчейне Ethereum?

Это абсолютно возможно!

Стоит ли это делать?Почти наверняка нет!

Одна проблема, которую я предвижу, - это цена за загрузку файлов.

  • Стоимость хранения данных составляет 640 КБ газа на килобайт данных.
  • Текущая цена на газ составляет приблизительно 15 Gwei (или 0,000000015 ETH).
  • По сегодняшней цене 1 ETH составляет приблизительно 200 долларов США.

Это получается чуть меньше2 доллара за килобайт.

Не мне сказать, слишком ли это дорого для вашего приложения, но вы также должны учитывать, что цены на газ и эфир сильно меняются с течением времени, и вы должны ожидать опытапериоды, когда это число будет значительно выше.

0 голосов
/ 25 октября 2018

Хранение изображений в цепочке является решительным NO !

Хранение изображений в базе данных также не является хорошей практикой, я предполагаю, что вы просто имеете в виду решения для хранения файлов, такие как S3 /firebase.Хранить образы на центральном сервере - это нормально, но это зависит от того, чего вы хотите достичь. Существуют решения для децентрализованного хранения, такие как IPFS и Swarm, на которые вы можете обратить внимание.

...