标签: chaincode

在 Hyperledger Fabric 中,当我尝试调用时,出现以下错误:“fabcar”的链码定义存在,但链码未安装

我遵循了 2 个不同的教程

https://github.com/swetharepakula/Fabric101Workshop

https://hyperledger-fabric.readthedocs.io/en/release-2.0/deploy_chaincode.html

两次我查询安装它都显示fabcar 已安装并且它成功提交,但是当我尝试调用时,我收到以下信息:

错误:调用期间背书失败。响应:状态:500 消息:“确保链码 fabcar 已在通道 mychannel 上成功定义并重试:存在‘fabcar’的链码定义,但未安装链码”。

我尝试更改CORE_PEER_GOSSIP_USELEADERELECTION=true,但这阻止了我的一个对等节点启动。

我在 Mac 上工作,节点在 docker 中运行,任何帮助将不胜感激。

hyperledger-fabric chaincode

8
推荐指数
1
解决办法
2439
查看次数

Hyperledger Fabric:关于资产查询的ENDORSEMENT_MISMATCH

似乎我误解了Hyperledger Fabric如何处理查询。我目前正在使用fabric-go-sdk从分类帐中查询资产,例如

asset, err := client.Query(channel.Request{ChaincodeID: someCCname, Fcn: "query", Args: [][]byte{[]byte(someID)}})
Run Code Online (Sandbox Code Playgroud)

当我的系统处于负载状态(许多与查询无关的新事务)时,有时会出现以下错误消息:

背书验证失败:背书者客户端状态代码:(3)ENDORSEMENT_MISMATCH。说明:ProposalResponsePayloads不匹配。

如果仅查询数据,为什么要背书?对我来说,错误消息似乎表明多个对等方对查询的回答不同。这是否意味着某些对等方已经将资产抵押到分类帐中,而其他同等方却没有将其分类?值得注意的是,查询是在资产创建后很短的时间内运行的,并且不一致。

查询链码非常简单明了:

func (c *TestChaincode) query(stub shim.ChaincodeStubInterface, args []string) pb.Response {
    data, err := stub.GetState(args[0])
    if err != nil {
        return shim.Error(err)
    }
    if data== nil {
        return shim.Error(err)
    }
    return shim.Success(data)
}
Run Code Online (Sandbox Code Playgroud)

hyperledger hyperledger-fabric chaincode

5
推荐指数
0
解决办法
124
查看次数

peer0.org1 上的 Hyperledger Fabric 链码安装失败

我正在尝试按照最新版本(v2.2.1)使用 Fabric 测试网络教程进行操作,一切正常,直到我尝试使用./network.sh deployCC.

我得到以下输出:

deploying chaincode on channel 'mychannel'
executing with the following
- CHANNEL_NAME: mychannel
- CC_NAME: basic
- CC_SRC_PATH: NA
- CC_SRC_LANGUAGE: go
- CC_VERSION: 1.0
- CC_SEQUENCE: 1
- CC_END_POLICY: NA
- CC_COLL_CONFIG: NA
- CC_INIT_FCN: NA
- DELAY: 3
- MAX_RETRY: 5
- VERBOSE: false
Determining the path to the chaincode
asset-transfer-basic
Vendoring Go dependencies at ../asset-transfer-basic/chaincode-go/
~/fabric-samples/asset-transfer-basic/chaincode-go ~/fabric-samples/test-network
~/fabric-samples/test-network
Finished vendoring Go dependencies
Using organization 1
+ peer lifecycle chaincode package …
Run Code Online (Sandbox Code Playgroud)

vendor hyperledger-fabric chaincode

4
推荐指数
1
解决办法
8968
查看次数

如何修复在实例化链码时发生的“在检索块之前完成上下文:上下文取消”?

实例化命令成功完成,但在分析对等日志时,您可能会注意到:

2019-04-17 17:25:52.581 UTC [gossip.state] commitBlock -> DEBU 48c [canal-contrato] 已提交区块 [1] 与 1 个交易

2019-04-17 17:25:52.581 UTC [common.deliver] deliveryBlocks -> DEBU 48d [channel: canal-contrato] 为 192.168.16.1:48230 提供 (0xc00023f9c0) 的区块

2019-04-17 17:25:52.581 UTC [fsblkstorage] waitForBlock -> DEBU 48e 将等待更新的区块。maxAvailaBlockNumber=[1],waitForBlockNum=[2]

2019-04-17 17:25:52.586 UTC [common.deliver] deliveryBlocks -> DEBU 48f 上下文取消,中止等待下一个块

2019-04-17 17:25:52.586 UTC [common.deliverevents] func1 -> DEBU 490 关闭交付流

2019-04-17 17:25:52.586 UTC [comm.grpc.server] 1 -> INFO 491 流媒体调用完成{"grpc.start_time": "2019-04-17T17:25:50.441Z", "grpc.service ": "protos.Deliver", "grpc.method": "DeliverFiltered", "grpc.peer_address": "192.168.16.1:48230", "error": "上下文在块检索前完成:上下文被取消", "grpc.peer_address": "192.168.16.1:48230"代码”:“未知”,“grpc.call_duration”:“2.144399922s”}

谁能告诉我我可能做错了什么以及这个错误的后果是什么? …

instantiation grpc hyperledger-fabric chaincode grpc-go

2
推荐指数
1
解决办法
1931
查看次数

Gradle 编译失败“找不到 com.github.everit-org.json-schema:org.everit.json.schema:1.11.1。” 在 Hyperledger Fabric 中

我是 Hyperledger Fabric 的新手。当我从 cli 容器安装到对等方后实例化用 java 编写的链码时,出现了一些错误:

FAILURE: Build failed with an exception.

* What went wrong:  
Could not resolve all files for configuration ':compileClasspath'.  
> Could not find com.github.everit-org.json-schema:org.everit.json.schema:1.11.1.
  Searched in the following locations:  
      file:/root/.m2/repository/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.pom
      file:/root/.m2/repository/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.jar
      https://repo.maven.apache.org/maven2/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.pom
      https://repo.maven.apache.org/maven2/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.jar  
  Required by:
      project : > org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:1.4.2
Run Code Online (Sandbox Code Playgroud)

我认为这可能是 Maven 存储库的问题,但是当我在主机的终端中使用 gradle 时,它​​运行正常,例如:

fabric@ubuntu:~/fabric1.4/fabric-samples/chaincode/master-liuqi/java$ sudo /opt/gradle/bin/gradle -b build.gradle build

Task :compileJava
Note: /home/fabric/fabric1.4/fabric-samples/chaincode/master-liuqi/java/src/main/java/org/hyperledger/fabric/example/SimpleChaincode.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

BUILD SUCCESSFUL in 0s  
2 actionable tasks: …
Run Code Online (Sandbox Code Playgroud)

java gradle blockchain hyperledger-fabric chaincode

1
推荐指数
2
解决办法
3097
查看次数

fabric-chaincode-go 和 fabric-contract-api-go 有什么区别?

我目前正在尝试学习 Hyperledger Fabric ,我设法了解如何设置网络(Orderers、Peers 等),但现在是链码的一部分。

但是,我发现两个不同的 git 存储库(据我所知)可用于创建链码。

第一个是fabric-contract-api-go,我不久前跟着他们的教程

第二个是fabric-chaincode-go

所以我的问题是,这两个包有什么区别,我应该使用哪一个来编写链码?你有资源或好的例子吗?(除了fabric-samples git中的那些)

前段时间跟着fabric-contract-api教程写了一个chaincode,现在看到有人用fabric-chaincode-go这个包,有点迷茫。

对不起,这个问题可能听起来很愚蠢,但我没有开发人员背景。我有 SysAdmin 背景,不习惯 GOLANG(但我是一个快速学习者,有很好的资源)。

hyperledger hyperledger-fabric hyperledger-chaincode chaincode

0
推荐指数
1
解决办法
631
查看次数