Ich bin ein absoluter Blockchain-Neuling und habe erst vor einer Woche damit angefangen. Ich habe bereits eine private Ethereum-Blockchain bereitgestellt und möchte sie verwenden, um die Dokumentenintegrität sicherzustellen, was bedeutet, dass ich MD5-Prüfsummen in der Blockchain speichern werde, um sie zu einem späteren Zeitpunkt zu überprüfen.
Jetzt verstehe ich, dass eine Blockchain nicht zum Speichern von Daten dient und man OP_RETURN verwenden sollte , um solche Informationen zu speichern, falls gewünscht. Dies bringt mich zu meiner Frage, dh wie erstelle ich eine solche Transaktion und füge den Hash des Dokuments in OP_RETURN hinzu , indem ich Folgendes verwende:
Jede Hilfe wird geschätzt.
In Ethereum gibt es keine Skript-Opcodes, daher gibt es kein op_return (wie in Bitcoin). Sie können Daten jedoch auf ähnliche Weise speichern, indem Sie Folgendes verwenden:
eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(100,'finney'),data:web3.toHex('My Message')})
Smart Contracts können beliebige Daten speichern, einschließlich Dokumenten-Hashes
contract MyHashRegistry {
mapping (uint => uint) hashes:
function storeHash(uint documentId, uint hash) {
hashes[documentId] = hash;
}
}
Es scheint, dass Sie noch keine relevante Erfahrung in Ethereum haben, um Ihre eigenen Dinge zu bauen, also ist es hier ein Problem, zu Schlussfolgerungen zu springen, anstatt alle Schritte dazwischen zu verstehen. Ich schlage vor, einen Lernpfad einzuschlagen. Du musst
Lernen Sie die Programmiersprache Solidity
Erstellen Sie einen intelligenten Vertrag
Erfahren Sie, wie Sie von Ihrem Computer aus mit Smarts Contracts interagieren (web3.js, web3.py)
Ich dachte, es könnte hilfreich sein, den Code hier hinzuzufügen, um die Transaktion mit Nethereum zu veröffentlichen:
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
Syd
Niksmac
promises
von Javascript. Schöne Bearbeitung dort ethereum.stackexchange.com/posts/12672/revisionsSyd
eth
Niksmac
OP_RETURN
? @eth Danke für das Update.Richard Horrocks
OP_RETURN
stammt aus der Bitcoin-Welt - das ist keine Ethereum-Sache ... (Sie könnten seine Funktionalität mit einem Vertrag kopieren, aber das ist wahrscheinlich eine ganz andere Frage.)Richard Horrocks