问题标签 [hyperledger-chaincode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
791 浏览

hyperledger-fabric - 对等点崩溃:运行时错误:无效的内存地址或 nil 指针取消引用

很长一段时间后,每当我遇到以下错误 hf 版本时,我的同行都会崩溃:1.4.2 go version go1.12.6 linux/amd64 ubuntu TLS 16.04

对等日志

链码日志

我很长一段时间都面临这个错误,但无法调试它。

0 投票
1 回答
578 浏览

java - Hyperledger Fabric:如何在 Java 链码中返回错误,以便返回到 fabrik-java-sdk 客户端

假设我的 Java 链代码(在 Fabric 1.4.4 上运行)想要抛出异常以表明要创建的新资产已经存在。我抛出一个带有问题或错误的 RunTimeException(在这种情况下,“合同 LL00001 已注册”),它记录在执行事务的对等节点中:

但是,在堆栈跟踪之后,我看到对等节点将其作为 500 错误返回,而没有包含我的错误描述或对 java 中的错误异常的任何引用(这是有道理的,因为该错误与语言无关):

记录在我的客户端 java 应用程序(使用 fabrik-java-sdk)中:

所以我只知道链码有问题,但我不知道问题是什么。如何获取错误类型和描述,以便向用户显示问题?现在我需要去对等节点检查那里的日志以查看问题所在。

注意:我在我的链码类中扩展了新的 org.hyperledger.fabric.contract.ContractInterface。

更新:对等节点记录错误异常(org.hyperledger.fabric.shim.ChaincodeException),并且似乎在 500 响应中正确返回错误消息(“未找到文档”),如日志所示,但此消息没有获取 Java SDK

编辑:这似乎是 Java SDK 中的一个错误。我在 Fabric 的 JIRA 中创建了一个 JIRA 问题: https ://jira.hyperledger.org/browse/FABJ-508

0 投票
3 回答
581 浏览

java - getStateByRange() 在 Hyperledger Fabric Java SDK 中返回空迭代器

我正在尝试获取分类帐中的所有条目(Fabric 1.4.4,使用 Java Chaincode):

但我总是得到一个空的迭代器。这是获取所有条目的正确方法吗?

(至少一种获取所有密钥的方法对我有用,因为我可以一个一个地获取状态,但为此我需要所有密钥)

0 投票
0 回答
373 浏览

hyperledger-fabric - Hyperledger Fabric 调用链代码

我想使用 ctx.stub.invokeChaincode("被调用的链代码名称",["被调用的链代码的函数(事务)的名称",args])在链代码中调用另一个链代码,并且我的两个链代码都已实例化相同的频道,但我收到以下错误:

调用链代码 Invoke() 返回错误响应 [错误:您要求调用不存在的函数:Confirm.confirmData]。将错误消息发送回对等方。

我不确定定义列表链代码参数是否有误。

0 投票
2 回答
217 浏览

hyperledger-fabric - 如何获取历史状态的传递给事务的参数

我正在尝试获取负责新状态的操作。简而言之,我想获取传递给调用方法的函数名。当我查看历史状态时,我能够获取其值、时间戳、事务 ID 等,但不能获取负责该事务的参数。

我知道我们可以从区块历史中获取参数,但我需要它来处理状态。

有没有办法从链码方面实现这一点?

0 投票
2 回答
362 浏览

hyperledger-fabric - Hyperledger Fabric 链码升级

我已经设置了具有 2 个组织的超级账本结构网络,并在对等方上安装了 v1.1 版本的 fabcar 链代码,并且我正在保留区块链的存储。

接下来我在 fabcar 上添加了更多方法,尝试将现有的 fabcar 升级到 v1.2,但我遇到了错误。

错误:无法组装交易,错误提案响应不成功,错误代码 500,msg 无法获取链码的包(fabcar:1.2)

我正在使用以下命令来升级链码

0 投票
2 回答
293 浏览

hyperledger-fabric - hyperledger-fabric 可以在不进入docker容器的情况下获取peer节点运行状态吗?

hyperledger-fabric 可以在不进入docker容器的情况下获取peer节点运行状态吗?如果是这样,我应该如何获得它?

0 投票
1 回答
254 浏览

hyperledger - 如何更改 Hyperledger 锯齿供应链 API(FishNet 示例)中的共识算法?

我正在尝试在 FishNet 示例中更改我的共识算法。

/sawtooth-supply-chain-master/fish_client/public/dist/bundle.js文件中我发现了这个:

consensus":{"type":"bytes","id":5}

有谁知道锯齿中的共识ID映射是什么?

默认情况下它是开发模式。但我想改变共识类型。这可能吗 ?

在 /sawtooth-supply-chain-master/docker/compose/supply-chain-default.yaml

入口点:| bash -c " if [ ! -f /etc/sawtooth/keys/validator.priv ]; 然后 sawadm keygen && 锯齿密钥生成 my_key && sawset genesis -k /root/.sawtooth/keys/my_key.priv && sawadm genesis config-genesis .batch fi; 锯齿验证器 -v \ --endpoint tcp://validator:8800 \ --bind 组件:tcp://eth0:4004 \ --bind 网络:tcp://eth0:8800 \ --bind共识:tcp://eth0:5050 "

devmode-engine:图像:hyperledger/sawtooth-devmode-engine-rust:1.1 容器名称:sawtooth-devmode-engine-rust-defaultdepends_on:-验证器入口点:devmode-engine-rust -C tcp://validator:5050

0 投票
2 回答
142 浏览

hyperledger-fabric - 除了fabric-shim和fabric-contract-api之外,我们可以在链码中使用npm模块吗?

我们可以在链码中使用除 fabric-shim 和 fabric-contract-api 之外的 NPM 模块吗?

如果是这样,在实例化时如何安装包?

0 投票
1 回答
58 浏览

hyperledger-fabric - 超级账本——合约实例化问题

我正在尝试在商业票据教程中实例化 java 联系人,并在监视器中出现以下错误。

安装链码时没有问题。

命令运行:docker exec cliMagnetoCorp peer chaincode instantiate -n papercontract -v 0 -l java -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' -C mychannel -P "AND ('Org1MSP.成员')”

错误:

peer0.org1.example.com|2019-12-19 00:10:10.220 UTC [endorser] SimulateProposal -> ERRO 045 [mychannel][7cd11866] 未能调用链代码名称:“lscc”,错误:容器以 1 退出

请帮助我应该做些什么来解决错误。