[英]Can Hyperledger "Smart Contract" have multiple collections at the state?
我试图了解应该使用超级账本状态的方式。 我想开发一个简单的区块链网络进行投票。 据我所知,区块链扮演着应用程序的“数据库”角色。 我以前的所有经验都告诉我要构建一个包含多个集合(或表)的数据库:
我在https://hyperledger-fabric.readthedocs.io
阅读了很多文章,而且它们总是显示可以购买和发行大量商业票据或汽车的情况。 我已经看到允许“私人收藏”,但我不需要数据是私人的。 我也看到有渠道(但渠道,同样,让不同的用户与不同的分类账交互)
示例repo 中的代码:
class CommercialPaperContext extends Context {
constructor() {
super();
// All papers are held in a list of papers
this.paperList = new PaperList(this);
}
}
...
class CommercialPaperContract extends Contract {
createContext() {
return new CommercialPaperContext();
}
...
async buy(ctx, issuer, paperNumber, currentOwner, newOwner, price, purchaseDateTime)
请参阅 - 有带有issuer
参数的buy
方法,但没有issuer
集合,也没有owners
集合。 应用程序中的任何地方也没有“货币余额”状态。
我想看看处理不同类型(汽车/客户/商店)数据的应用程序。
在 Hyperledger 结构中,数据存储为键值对。
每个事务的密钥必须是唯一的。为该密钥维护状态。 您可以使用富查询从状态中获取数据。
您可以在链码中定义任何资产,如汽车、书籍等及其属性(集合),并将其存储,主要以 json 格式存储。 前提是密钥是唯一的。 您可以检查 fabcar 或 marles02 链码是否相同,您会在fabric-samples/chaincode 中找到它。 如果我错过了什么,请回复评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.