Mini documentos de Ethereum

Estoy tratando de averiguar la mejor manera de abordar un problema.

Me gustaría darle a un usuario la capacidad de almacenar documentos que tengan valor. Entonces, cada vez que crean un nuevo documento, pueden agregar tanto éter a ese contrato. El objetivo es que luego puedan negociar esos contratos.

Pensé en generar una nueva dirección para cada documento, pero eso haría imposible enviarlos a otra persona.

¿Alguien tiene alguna sugerencia de cómo puedo resolver esto? Para desarrollo, estoy usando node.js y web3.js.

Respuestas (1)

Si entendí bien, no tiene requisitos estrictos (todavía) sobre qué partes del sistema deben estar dentro de blockchain y cuáles fuera. Como al menos algunas partes tienen que estar fuera de la cadena de bloques (almacenamiento de documentos), me tomaré la libertad de sugerir una solución que estará dentro y fuera de la cadena de bloques.

  • Almacene los documentos en algún lugar fuera de blockchain junto con su valor hash (sha3 o lo que sea)
  • Almacene los valores hash en su contrato inteligente junto con un valor Ether y la dirección del propietario
  • Permita que los documentos (sus hashes) se compren dentro del contrato. Quien posee el hash, posee el documento
  • Al crear un nuevo documento, agregue una nueva referencia en el contrato inteligente
¡Excelente gracias! Planeo almacenar los documentos y un hash en mongo db y definitivamente puedo hacer el punto #2. ¿Puede dar más detalles sobre los puntos 3 y 4? No estoy seguro de entenderlo.
Sabes qué hash es de qué documento real (está en tu mongodb). Entonces, si alguien quiere comprar un documento, llama a una función en el contrato que es algo así como function buy(string hash) payable {...: si la cantidad de Ether suministrada es suficiente, se marca como propietario del hash y su backend puede verificar quién es el propietario del hash y distribuir el documento a la propietario de alguna manera