问题标签 [hyperledger-fabric-sdk-js]
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.
hyperledger-fabric - 与 IBP 2.0 的连接配置文件
我已经使用 IBP 1 和 nodejs SDK for fabric 创建了一个应用程序。它工作正常。
IBP1 正在被“弃用”,我正在切换到 IBP2。但是,连接配置文件“功能”存在重大差异。
在 IBP 1 中,您只需下载整个连接配置文件,您就拥有了所有需要的信息。这太棒了。
在 IBP 2 中,连接配置文件“与链码相关”并且包含很少的信息。因此,我之前的代码不适用于平台提供的当前连接配置文件。
错误示例: error: [Network]: _initializeInternalChannel: no suitable peers available to initialize from
这里应该有什么解决方案?
- 有没有办法像我们以前那样下载完整的连接配置文件?
- 我们必须自己建立连接配置文件吗?国际海事组织,这将是一个重大的倒退。
hyperledger-fabric - 隐式策略评估失败 - 满足 0 个子策略,但该策略需要满足 1 个“作家”子策略
每当我在运行网络后尝试创建频道时,都会遇到此错误。但是,如果修剪结构并重新启动我的电脑,然后在运行结构错误消失后再次创建通道。但我无法调试错误。
node.js - 调用注册端点失败并出现错误 [错误:自签名证书]
我正在尝试遵循超级账本结构教程 [1] 并让 Node.js SDK 与我的网络一起运行。我已经在我的 ca 服务器上成功注册了管理员,但是,在尝试下一步(注册新用户)时,我收到关于使用自签名证书的错误。
我什至不明白错误指的是哪个证书。CA 服务器使用的显然是自签名的,因为它们是根证书。adminIdentity 的证书来自 CA 服务器本身,在前面的注册步骤中获得。
我的 ca-server 容器上的日志不包含任何错误,触发请求甚至不会在那里产生任何日志条目。
(未更改的)示例代码显然工作fabric-samples/fabcar
得fabric-samples/basic-network
很好。据我所知,SDK 代码在功能上与示例相同,因此我怀疑错误隐藏在配置中的某个位置。
这是我的registerUser.js
文件:
...和我的connection.json
文件:
我希望用户成功注册,但我收到以下错误:
Failed to register user "user1": Error: Calling register endpoint failed with error [Error: self signed certificate]
我可以做些什么来修复这个错误,甚至获得更多有用的信息?
node.js - HLF 结构网络无法从 node-red 连接到 IBP2 对等体
我目前正在使用 IBM Blockchain Platform 2.0。我用fabric-network 1.4.0
和连接到它fabric-client 1.4.0
。
当我在我的机器上侦听来自简单 node.js 脚本的事件时,它运行良好。这是示例脚本:
但是,我的目标是将此代码包含到节点红色节点中(查看此处.
一点上下文:目前这些节点不处理可能需要的发现。我工作的目的是将其包含到这些节点中。
结果,我尝试将上面的代码插入到我的节点代码中,它给出了以下内容:(相同的代码,它只是一个复制/粘贴)
它产生以下错误:
fabric-network
我在两个“环境”上检查了版本,它是1.4.0
有没有人知道有什么区别和/或什么会导致这个错误?
编辑:
在将包链接到 node-red vianpm install PATH
而不是 using时测试包时npm link
,出现以下错误:
编辑:来自 HLF 日志记录的更多信息。你可以在这里找到完整的日志
为了安全起见,除本地主机地址外,所有地址都已更改为ADDRESS
或ADDRESS:PORT
(取决于写入的内容)。
hyperledger-fabric - 如何将 Node SDK 连接到链码开发模式?
按照这些说明: https ://github.com/hyperledger/fabric-samples/tree/release-1.4/chaincode-docker-devmode
我能够peer invoke
在 devmode 中成功使用 cli 命令,但是示例 Node.js 代码假定它与网关和钱包一起部署并命中第一个网络连接配置文件:https ://github.com/hyperledger/fabric-samples/blob/ release-1.4/fabcar/javascript/query.js
有没有办法可以更改 Node.js 代码以改为使用链码开发模式,以便我可以测试更多的端到端?
node.js - 带有节点的 Hyperledger 结构给了我你要求调用一个不存在的函数
我在超级账本结构中创建了一个链码,使用“第一网络”作为本地区块链来部署我的合约,我对其进行了测试,效果很好,很喜欢它,然后我决定在我的合约中添加一个新方法,没什么复杂的,一个简单的查询。
我的程序在带有打字稿的节点中,所以我删除了 dist 文件夹,运行脚本npm run build
甚至./byfn.sh down
删除了我所有的容器和图像,并使用./byfn.sh up
脚本重新开始,无论尝试什么,我都会收到此错误:
所以我认为也许我做错了什么,所以我将我的方法添加到 fabcar.ts 示例中并再次启动结构以使用 fabcar 方法和我的方法运行 fabcar,这一次,我得到了同样的错误对于我所有的方法,而来自 fabcar 示例的原始方法是唯一被认可的方法。
那么,fabric 在哪里存储旧版本的代码?我正在删除所有 dist 文件夹、node_modules、容器和图像,如果我在全新的区块链中发布,为什么它不会更新合同?每次更改某些内容时,即使在开发中,我是否也需要增加版本?
谢谢
hyperledger-fabric - 关于前端应用程序如何访问超级账本结构中的钱包
在 Hyperledger 结构中,钱包是否会保存在手机和笔记本电脑等用户设备中,如果前端存储用户设备,它将如何使用钱包?
提前致谢
hyperledger-fabric - 我怎样才能从特定的同行那里得到背书?
在 Hyperledger 结构中提交交易后,有没有办法从特定对等方获取背书,使用contract.submitTransaction()
or channel.sendTransaction()
?到目前为止,背书似乎总是来自同一个同行,而不是组织中的其他同行。请在下面查看我的环境详细信息。此外,如果我使用节点 sdk sendTransactionProposal(request)'s
ChaincodeInvokeRequest 首选或忽略列表来定位特定对等方,那似乎没有任何区别。是否有任何特定文档或替代资源可以解决此问题?
ChaincodeInvokeRequest{ 目标:allPeers 或 peer2,// 或不同的 peer 首选:peer2,ignore,peer1 }
环境详细信息 当前设置:1 个组织和 2 个对等点
简单的背书政策:
Fabric SDK库:
Hyperledger Fabric 版本:v1.4.1
使用以下方法针对 sdk 中的特定对等点:
预期成绩:
transaction1 - 客户端向 peer1 提交交易并从 peer1 获得背书。transaction2 - 客户端向 peer2 提交交易并从 peer2 获得背书。
实际结果:
transaction1 - 客户端向 peer1 提交交易并从 peer1 获得背书。transaction2 - 客户端向 peer2 提交交易并从 peer1 获得背书。
hyperledger-fabric - 当从 Fabric 客户端应用程序提交事务时,哪个对等 SDK 将实际提交事务到网络?
我正在经历 Hyperledger Fabric Web 应用程序开发。我仍然对在第一网络上部署链代码的 fabcar nodejs 示例感到困惑(总共 4 个对等点)。运行后,startFabric.sh
我们可以使用 查询或提交交易query.js or invoke.js
。在这样做的同时,我们通过 Fabric 节点 SDK 与网络进行通信。例如,如果我们尝试更改车主,我们只需invoke.js
使用此函数进行修改并运行node invoke.js
,它就会简单地更改账本中的特定车主。我的问题是,我们有 4 个对等点,我们的链码当前安装,从哪个对等点 SDK 实际向网络提交交易?如果我们想从另一个对等点提交交易怎么办?我们如何在invoke.js
任何说明中定义连接对等点(事务提交对等点)?
hyperledger-fabric - 在超级账本结构的 chaicode 中执行大量事务时超时到期
我已经克隆了结构示例
存储库并正在运行byfn
脚本来构建第一个网络。我正在使用 node js SDK 进行应用程序开发。我编写了一个链码函数,它进行耗时的计算并将true/false
值返回给中间件。
我peer0
仅从Org1
.
不幸的是,我得到了一个超时,没有来自链码的响应~30seconds
。我得到的错误如下所示:
为了解决这个问题,我认为我必须覆盖结构中的默认超时配置。deafault.json
所以,我对 .I 中的配置文件进行了更改fabric-client node module
。我增加了键中的值,"request-timeout","grpc.keepalive_timeout_ms", "grpc-wait-for-ready-timeout"
但我的应用程序仍然像~30-35 seconds
. 我还更改了文件中的timeout
参数值,connection-org1.yaml
但应用程序仍然同时超时。
如何增加此超时时间以允许在我的链码中进行大量计算?我知道我的链码和结构安装是正确的,因为相同的应用程序和链码在具有更好资源的系统中运行良好(即在更快的计算机中计算需要约 15 秒)