La tarea.
Desarrollar un registro distribuido en la red blockchain que pueda almacenar datos públicos de ciertos objetos.
Por ejemplo:
{
"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
}
La información podría complementarse en el futuro con datos como este:
{
"id": 123456789012345,
"arrived_to": "not more than 255 characters",
"date": 1531230018
}
Los datos iniciales y los próximos adicionales deben formular un perfil de objeto común con el historial de todas las acciones.
Agregar un nuevo objeto o complementar un objeto existente debe costar una tarifa.
Tengo una red privada con Clique PoA en algunos VPS. Escribo datos en el campo de transacción inputData en JSON. Para buscar, escribí un indexador que recopila datos de la transacción a mysql db local.
¿Es esto normal o hay mejores formas de almacenar datos y manipularlos?
¿Cómo puedo establecer una tarifa para agregar un nuevo objeto, mediante un contrato inteligente o integrarlo en el algoritmo de transacción?
La estimación de la cantidad de objetos en producción es de aproximadamente 10-50 millones por año
Siento que usar Blockchain para almacenar cantidades tan grandes de datos realmente no tiene sentido. ¡El costo sería prohibitivamente caro! Además, la cadena de bloques no está realmente destinada a usarse como una base de datos.
Por lo tanto, podría ser mejor usar IPFS/Swarm para almacenar los datos y agregar el hash de IPFS al contrato inteligente como administrador de registros.
Aquí hay una gran guía para ayudarlo a comprender cómo aprovechar IPFS para amplificar el poder de la cadena de bloques para el almacenamiento.
Subhod I
Mukomol
Bharat Mallapur