有没有一种方法可以使用 hyperledger fabric 在 couchDB 中为不同的合同设置不同的索引
Is there a way to set different indexes for different contracts in couchDB with hyperledger fabric
我将 hyperledger fabric 1.4 与 CouchDB 2.3.1 和 2 个合同一起使用,但我在设置合同中的索引时遇到问题,也不知道如何将索引上传到 couchDB。
这些是我的索引:
META-INF/statedb/couchdb/indexes/carIndex.json
{
"index": {
"fields": [
"idCar",
"date"
]
},
"ddoc": "indexIdCarDoc",
"name": "indexIdCar",
"type": "json"
}
META-INF/statedb/couchdb/indexes/bikeIndex.json
{
"index": {
"fields": [
"idBike",
"date"
]
},
"ddoc": "indexIdBikeDoc",
"name": "indexIdBike",
"type": "json"
}
如何告诉 hyperledger 为 mychannel_carchaincode table 设置第一个索引,为 mychannel_bikechaincode table 设置第二个索引?
另外,我的链码是用打字稿写的,我的 META-INF/statedb/couchdb/indexes 文件夹应该在 dist 文件夹中吗?这就是为什么我在升级后看不到 couchdb 中的索引的原因?或者索引只能在实例化时上传?
谢谢
当你给出链码命令时,你必须使用“use_index”参数并且必须告诉链码它将为这个命令使用什么索引。
我遇到了同样的问题。我的超级账本版本是 1.4.7,我正在使用 IBM Blockchain Extesion for VS Code。
当我把这个文件夹放在我项目的 lib 文件夹中时我解决了。
lib/META-INF/statedb/couchdb/indexes/index.json
升级智能合约后,
为确保有效,请转到终端并使用此 docker 命令:
docker logs 39f4adec6057 2>&1 | grep "CouchDB index"
其中 39f4adec6057 是对等容器
如果工作这个显示类似:
[couchdb] CreateIndex -> INFO 0fc 使用设计文档 [_design/tipoAtivoDoc]
在状态数据库 [mychannel_integra-chaincode] 中创建了 CouchDB 索引 [tipoAtivo]
如果您使用 Typescript,这将被编译:确保将此文件夹复制到 dist 文件夹。为此,您可以在您的包 JSON 中添加一个 postbuild
"postbuild": "cp -av ./META-INF dist/lib/META-INF",
我将 hyperledger fabric 1.4 与 CouchDB 2.3.1 和 2 个合同一起使用,但我在设置合同中的索引时遇到问题,也不知道如何将索引上传到 couchDB。
这些是我的索引:
META-INF/statedb/couchdb/indexes/carIndex.json
{
"index": {
"fields": [
"idCar",
"date"
]
},
"ddoc": "indexIdCarDoc",
"name": "indexIdCar",
"type": "json"
}
META-INF/statedb/couchdb/indexes/bikeIndex.json
{
"index": {
"fields": [
"idBike",
"date"
]
},
"ddoc": "indexIdBikeDoc",
"name": "indexIdBike",
"type": "json"
}
如何告诉 hyperledger 为 mychannel_carchaincode table 设置第一个索引,为 mychannel_bikechaincode table 设置第二个索引?
另外,我的链码是用打字稿写的,我的 META-INF/statedb/couchdb/indexes 文件夹应该在 dist 文件夹中吗?这就是为什么我在升级后看不到 couchdb 中的索引的原因?或者索引只能在实例化时上传?
谢谢
当你给出链码命令时,你必须使用“use_index”参数并且必须告诉链码它将为这个命令使用什么索引。
我遇到了同样的问题。我的超级账本版本是 1.4.7,我正在使用 IBM Blockchain Extesion for VS Code。 当我把这个文件夹放在我项目的 lib 文件夹中时我解决了。
lib/META-INF/statedb/couchdb/indexes/index.json
升级智能合约后, 为确保有效,请转到终端并使用此 docker 命令:
docker logs 39f4adec6057 2>&1 | grep "CouchDB index"
其中 39f4adec6057 是对等容器
如果工作这个显示类似:
[couchdb] CreateIndex -> INFO 0fc 使用设计文档 [_design/tipoAtivoDoc]
在状态数据库 [mychannel_integra-chaincode] 中创建了 CouchDB 索引 [tipoAtivo]如果您使用 Typescript,这将被编译:确保将此文件夹复制到 dist 文件夹。为此,您可以在您的包 JSON 中添加一个 postbuild
"postbuild": "cp -av ./META-INF dist/lib/META-INF",