Задание.
Разработать распределенный реестр в сети блокчейн, который может хранить общедоступные данные определенных объектов.
Например:
{
"id": 123456789012345,
"title": "Big black box (not more than 100 characters)",
"description": "not more than 255 characters",
"serial_number": "SN4567RT12",
"type": 4,
"size": 50,
"date_of_manufacture": 1531230018,
"owner_local_id": 99856
}
Информация может быть дополнена в будущем такими данными:
{
"id": 123456789012345,
"arrived_to": "not more than 255 characters",
"date": 1531230018
}
Исходные данные и последующие дополнения должны формировать общий профиль объекта с историей всех действий.
Добавление нового объекта или дополнение существующего объекта должно быть платным.
У меня есть частная сеть с Clique PoA на нескольких VPS. Я записываю данные в поле транзакции inputData в формате JSON. Для поиска я написал индексатор, который собирает данные из транзакции в локальную базу данных mysql.
Это нормально или есть лучшие способы хранения данных и управления ими?
Как я могу установить комиссию за добавление нового объекта, по смарт-контракту или интегрировать в алгоритм транзакции?
Оценка количества объектов в производстве около 10-50м в год
Я чувствую, что использование блокчейна для хранения таких огромных объемов данных на самом деле не имеет смысла. Стоимость будет непомерно высокой! Кроме того, блокчейн на самом деле не предназначен для использования в качестве базы данных.
Следовательно, может быть лучше использовать IPFS/Swarm для хранения данных и добавить хэш IPFS в смарт-контракт в качестве хранителя записей.
Вот отличное руководство , которое поможет вам понять, как использовать IPFS для усиления возможностей блокчейна для хранения.
Субход I
Мукомоль
Бхарат Маллапур