在以太坊区块链中存储和检索数据

时间:2018-07-17 18:05:07

标签: ethereum solidity

我是Blockchian的初学者,我想通过稳固性将个人人口统计数据存储在以太坊区块链中。对此我有一些基本问题:

  1. 我是否必须将数据存储在智能合约中?
  2. 假设我在这种情况下将多个个人数据存储在区块链中 每个个人数据都将使用 智能合约的相同实例?
  3. 是否有任何开源工具可用来查看 我本地的以太坊区块链中有哪些区块?

2 个答案:

答案 0 :(得分:2)

我将尝试简单地回答这个问题。

  

我必须将数据存储在智能合约中吗?

是的,您需要通过调用智能合约功能来存储数据。

  

说我将多个个人数据存储在区块链中.....

在大多数情况下,数据将位于不同的块中,但是如果两个连续的事务处理过快,它们可能会进入同一块中。它将具有不同的交易ID,但具有相同的块标题。您存储到区块链的数据要检索您需要从同一智能合约调用函数。将智能合约视为进入建筑物的唯一大门。无论是存储还是取回,您都需要穿过那扇门(smart contract)。

  

是否有任何开源工具...

要检索使用智能合约函数调用所需的数据,可以使用带有web3包的nodejs来调用智能合约。

对于用于区块链浏览器的公链检查etherscan

对于私人区块浏览器etherparty explorer

答案 1 :(得分:2)

以太坊区块链不打算分配大量数据。如果您正在寻找分散式存储解决方案,那么IPFS + Swarm是一个很好的替代方案。

它如何工作? IPFS生成引用文件内容的唯一HASH_ID。将文件添加到IPFS后,其内容将被编码为默克尔树结构,并且IPFS引导节点(由IPFS团队提供)将被告知网络中该文件的存在。从那一刻起,任何知道该HASH_ID存在的人都将能够提取本地运行的ipfs节点的内容。一旦文件被另一个节点提取,该节点将成为您文件的另一个来源。

如您所见,该模型的缺点是您很容易失去对上载到IPFS的文件的控制。因此,我们的团队Lightstreams在IPFS之上实现了ACL层,该层实现了允许或拒绝帐户访问文件的功能。您可以在our wiki中看到一些有关如何使用我们的技术进行操作的文档。您也可以使用我们的技术,而无需通过为此提供的https api运行本地节点。

此外,我们的团队正在使用Tendermint BTF构建以太坊兼容的区块链,以PoA取代PoW。当前在以太坊网络上运行的每个DApp都可以轻松迁移到我们的网络。由于在以太坊上运行有关交易批准时间和交易成本的限制,我们决定实施自己的区块链,这是我们的案例,交易成本约为100tx / s,交易成本约为2.5c $ / tx。

我们的项目是几周前的open-source。我们的testnet已经运行了3个月以上,我们将于3月底启动主网。我们很高兴支持开发人员加入我们的discuss forum,并为希望通过我们的网络开发Dapps的开发人员开放bounty program