Soy un novato total en blockchain y acabo de empezar hace una semana. Ya he implementado una cadena de bloques de Ethereum privada y quiero usarla para garantizar la integridad del documento, lo que significa que almacenaré sumas de verificación MD5 en la cadena de bloques para verificarlas en un momento posterior.
Ahora entiendo que una cadena de bloques no es para almacenar datos y uno debe usar OP_RETURN para almacenar dicha información si lo desea. Esto me lleva a mi pregunta, es decir, ¿cómo creo una transacción de este tipo y le agrego el hash del documento en OP_RETURN usando:
Cualquier y toda ayuda será apreciada.
En ethereum no hay códigos de operación de secuencias de comandos, por lo que no hay op_return (como en Bitcoin). Sin embargo, puede almacenar datos de manera similar usando:
eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(100,'finney'),data:web3.toHex('My Message')})
Los contratos inteligentes pueden almacenar cualquier dato, incluidos los hashes de documentos
contract MyHashRegistry {
mapping (uint => uint) hashes:
function storeHash(uint documentId, uint hash) {
hashes[documentId] = hash;
}
}
Parece que aún no tiene experiencia relevante en Ethereum para construir sus propias cosas, por lo que llegar a una conclusión en lugar de comprender todos los pasos intermedios es un problema aquí. Sugiero tomar un camino de aprendizaje. Necesitas
Aprenda el lenguaje de programación Solidity
Crear un contrato inteligente
Aprenda a interactuar con contratos inteligentes desde su computadora (web3.js, web3.py)
Pensé que podría ser útil agregar el código aquí para publicar la transacción usando Nethereum:
var txCount = await web3.Eth.Transactions.GetTransactionCount.SendRequestAsync(senderAddress);
var encoded = web3.OfflineTransactionSigning.SignTransaction(myPrivateKey, receiverAddress,
amount: 0,
nonce: txCount.Value,
gasPrice: 1,
gasLimit: 100000,
data: myHexData);
txId = await web3.Eth.Transactions.SendRawTransaction.SendRequestAsync(encoded);
niksmac
Syed
niksmac
promises
en javascript. Buena edición allí ethereum.stackexchange.com/posts/12672/revisionsSyed
ética
niksmac
OP_RETURN
? @eth gracias por la actualización.Richard Horrocks
OP_RETURN
es del mundo de Bitcoin: esto no es una cosa de Ethereum... (Podrías copiar su funcionalidad usando un contrato, pero esa es probablemente una pregunta completamente diferente).Richard Horrocks