定制区块链数据结构

3

我正在尝试验证一个使用私有/财团区块链的区块链应用程序的商业想法。

我正在考虑在Multichain或类似平台上进行测试。

有一件事我不确定,那就是如何定义我的数据长什么样?如果我从头开始创建自己的应用程序,我会设计一个数据库等等。

那么,像Multichain这样的平台怎么做呢?例如,如果我要存储特定资产的记录以及多个方对该资产的不同利益,我如何定义它在我的区块链应用程序中的形式?

换句话说,相当于定义我的“资产”表、我的“资产方”表等的等价物是什么?我可以控制实际存储的数据/交易代表什么吗?

2个回答

1
如果我是你,我会尝试Hyperledger Fabric。它是为企业开发的区块链实现。
关于之前的问题:区块链就是数据库。您需要定义代码逻辑。这个代码,智能合约,将安装在区块链的所有节点上。
您的区块链将像交易一样存储每个注册表。一个交易相当于您的数据库中的一个注册表。因此,您需要精确定义您的智能合约,在其中定义要存储的数据类型。此外,您需要在智能合约中定义“业务想法”的逻辑。

你能给一些书名或文章来扩展这个话题吗?我的意思是有关如何构建现实应用程序和需求等方面的区块链相关内容。 - Edoardo
1
@eddyce,这里有一些链接可以帮助您开发Hyperledger的智能合约(链代码)。在这两个链接中,有两个关于如何为Hyperledger项目开发您的Chaincode的教程:1)http://hyperledger-fabric.readthedocs.io/en/release/chaincode4ade.html && 2)https://github.com/ibm-watson-iot/blockchain-samples/tree/master/contracts/basic/simple_contract 此外,在网络上还有很多更多的教程。 - Urko
关于您的声明“区块链是数据库”,我有一个问题:如果我要存储一个包含电子邮件和年龄的表格,我可以选择像mySQL这样的数据库。那么我们可以使用哪些数据库来存储区块链数据呢?我认为区块链数据除了每个记录都引用另一个哈希之外,没有什么特别的地方,就像:块1:{email:“foo”,age:5,previousHash:“xyzxyz...”} 块2:{email:“bar”,age:9,previousHash:“abcabc...”}我们不能简单地使用MySQL数据库吗,其中包含列(电子邮件,年龄,previousHash)?@Urko - Morris

0

我从未使用过multichain,但是在Hyperledger Sawtooth中,事务负载和存储在状态中的数据对于区块链来说完全不透明。这意味着您可以存储任何可以编码为字节的内容。这可能只是一个简单的JSON字符串。虽然您必须小心,因为它每次生成时都需要按字节完全相同。因此,在JSON情况下,您可能希望首先对键进行排序。创建一致、紧凑的字节序列的流行选项是Google的协议缓冲区


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