【发布时间】:2018-12-25 12:46:44
【问题描述】:
我是blockchian的初学者,我想通过solidity将个人人口统计数据存储在以太坊区块链中。对此我有一些基本问题:
- 我必须将数据存储在智能合约中吗?
- 假设我在区块链中存储了多个个人数据,在这种情况下 每个个人数据是否会使用 智能合约的相同实例?
- 是否有任何开源工具可以让我查看 我的本地以太坊区块链中的区块?
【问题讨论】:
我是blockchian的初学者,我想通过solidity将个人人口统计数据存储在以太坊区块链中。对此我有一些基本问题:
【问题讨论】:
以太坊区块链并非旨在分配大量数据。如果您正在寻找去中心化存储解决方案,一个很好且强大的替代方案是 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 。
【讨论】:
我会尽量简单地回答这个问题。
我必须将数据存储在智能合约中吗?
是的,您需要通过调用智能合约函数来存储数据。
假设我在区块链中存储了多个个人数据.....
在大多数情况下,数据将位于不同的块中,但如果两个连续事务太快,它们可能会进入同一个块。它将具有不同的事务 ID,但具有相同的块头。您存储到区块链的数据,以检索您需要从同一智能合约调用函数的数据。将智能合约视为进入建筑物的唯一门。无论是存储还是检索,您都需要通过那扇门 (smart contract)。
有没有开源工具...
使用智能合约函数调用检索需要的数据,可以使用nodejs和web3包调用智能合约。
对于公链检查的区块浏览器etherscan
私人区块浏览器etherparty explorer
【讨论】: