【问题标题】:Storing and Retrieving Data in Ethereum Blockchain在以太坊区块链中存储和检索数据
【发布时间】:2018-12-25 12:46:44
【问题描述】:

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

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

【问题讨论】:

    标签: ethereum solidity


    【解决方案1】:

    以太坊区块链并非旨在分配大量数据。如果您正在寻找去中心化存储解决方案,一个很好且强大的替代方案是 IPFS + Swarm。

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

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

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

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

    【讨论】:

      【解决方案2】:

      我会尽量简单地回答这个问题。

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

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

      假设我在区块链中存储了多个个人数据.....

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

      有没有开源工具...

      使用智能合约函数调用检索需要的数据,可以使用nodejsweb3包调用智能合约。

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

      私人区块浏览器etherparty explorer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-14
        • 1970-01-01
        • 1970-01-01
        • 2021-07-27
        • 2017-08-07
        • 2019-12-09
        相关资源
        最近更新 更多