在以太坊区块链上存储用户数据

3
我们正在开发一个应用程序,希望将用户数据存储在以太坊区块链上。我的思路如下:
  • 有一个与UI交互的合约。
  • 当用户在UI上输入信息时,它会触发Solidity智能合约。
  • 智能合约将通过oraclejs触发事件,将数据存储在数据库中。
我想知道是否有更好的方法来实现这一点。
3个回答

0

由于在区块链中存储数据的成本较高,因此您可以将数据存储在Oracle数据库中,并将行哈希(我建议使用sha256())存储到区块链中。

mapping (uint=> byets32) dataHashById;

现在,每当您从数据库中获取数据时,您都必须对该行进行哈希处理,并根据区块链中的哈希进行验证。就是这样。

1
啊,好的,谢谢Surajit。给答案投反对票的人,你能说明一下为什么吗? - Nikhil Das Nomula
数据库中的行数据可以被更改,这将导致不同的哈希值。 - Uahmed
每次在oracledb中更改行时,您都必须在区块链中进行交易,因为您要维护oracledb和区块链。您必须同步这两个。 - sjMalik

0

区块链以其透明性、不可变性、安全性和无停机时间的特性而被使用。如果你使用公共区块链,用户数据将在交易中可见,任何人都可以看到它。为了充分利用区块链的潜力,我建议使用私有区块链或在存储在区块中时对数据进行加密。


0
您可以使用此AWS以太坊数据集访问所有转账、交易、事务、区块和代币相关的数据集。
这并非免费,Google和AWS都提供了免费版本。
请在此处查看AWS免费以太坊数据集here和Google的免费以太坊数据集here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接