Django, Ethereum, Sqlite

Estoy creando una aplicación de cadena de bloques en django con 6 entidades principales. Por entidades quiero decir que estas 6 entidades replicarán datos o puede decir que el mecanismo de consenso evolucionará en torno a estas entidades. Ahora mi pregunta es ¿cómo puedo integrar ethereum en mi aplicación django?

Solo necesito ethereum para el almacenamiento de bases de datos distribuidas y mi mecanismo de consenso o prueba de trabajo es completamente diferente en comparación con ethereum. ¿Debo usar ethereum en mi proyecto o crearlo completamente desde cero en sqlite? Estoy realmente confundido sobre cómo crear una base de datos para mi aplicación de cadena de bloques.

Respuestas (1)

Es muy difícil responder con precisión en base a una descripción general de un modelo de datos modesto con 6 entidades.

Algunos comentarios para ayudar a aclarar los grandes temas.

El consenso de Ethereum garantizará la correcta ejecución de un contrato inteligente. Dentro de ese contrato, puede asegurarse de que los datos de misión crítica sean confiables. Los costos de almacenamiento y procesamiento son altos en relación con una base de datos relacional porque estos datos se replicarán en todos los nodos de validación; es inmensamente redundante.

En mi opinión , el almacenamiento en cadena es adecuado para un almacenamiento minimalista que debe ser correcto para proteger la integridad del sistema. Un enfoque común es registrar claves e información crítica, por ejemplo, usuarios, saldos, historial de transacciones, identificadores clave y hashes de documentos .

Los clientes pueden usar los hashes para validar la información descriptiva y los detalles almacenados en otro lugar. Ejemplo, JSON almacenado en otro lugar. Un contrato apunta a una ubicación donde se pueden descubrir los detalles y proporciona un hash de los datos almacenados allí.

En mi opinión , los contratos deberían hacer cumplir la integridad referencial si la aplicación lo requiere. Eso implica claves primarias y externas en cadena y algunas reglas estrictas sobre actualizaciones permitidas. Ejemplo de cómo hacer integridad referencial aquí: https://medium.com/@robhitchens/enforcing-referential-integrity-in-ethereum-smart-contracts-a9ab1427ff42 .

Espero eso ayude.