问题标签 [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.

0 投票
1 回答
402 浏览

node.js - Hyperledger Fabric 2.0,无法使用 Node.js SDK 访问用户的 Fabtokens

我正在尝试向用户发行一些 Fabtoken,然后在各种场景中使用它们,例如转移、兑换等。我在此处遵循 Node SDK 文档:https ://fabric-sdk-node.github.io/master/tutorial -fabtoken.html

这就是他们执行 Fabtoken 操作的方式:

然后使用不同的 tokenClient 列出用户 1 的令牌:

在 Node SDK 的客户端类页面中提到:https ://fabric-sdk-node.github.io/master/Client.html 使用相同的客户端实例切换 userContexts 是一种反模式,不推荐使用,因为客户端实例是有状态的。

正如他们所建议的,我创建具有不同用户上下文的客户端实例。这就是我创建客户、设置他们的用户上下文并创建我的 tokenClient 实例的方式:

稍后,我将使用这些config对象向不同的用户发放一些令牌。我如何从我的颁发者(管理员)帐户向我的服务器帐户颁发令牌:

这成功地按预期向服务器发出了三个令牌。问题是,当我尝试访问我的服务器的令牌时,就像他们使用类似代码提供的示例一样:

结果只是空的,我没有收到任何错误消息。但是,当我检查queryTransaction(txId)用于我生成的令牌发行交易的交易时,我可以看到该交易中已发行令牌的所有者是服务器,这就是我可以确定我可以成功地将令牌发行到服务器的方式。有没有其他方法可以检查我的服务器的令牌?或者我不应该按照他们的建议为每个用户使用不同的客户端和用户上下文?因为,以前当我使用单个客户端和单个用户上下文来发布和列出令牌时,我能够看到服务器的令牌。但是当我尝试异步传输我的令牌时,这种方法给我带来了问题。

0 投票
1 回答
322 浏览

hyperledger-fabric - 通用连接配置文件缺少此客户的组织和证书颁发机构

我注册用户 user1 失败:错误:尝试在 Hyperledger Fabric 网络中注册用户时,通用连接配置文件缺少此客户端的组织和证书颁发机构。我正在使用fabcar样本。我可以注册一个管理员。

当我尝试注册新用户时:

通过在为组织添加用户时遵循示例连接配置文件常见连接配置文件丢失错误,我构建了我的网络连接配置文件:

尽管可能无关紧要,但该网络使用稳定的 helm 图表在 Kubernetes 上运行。我可以从 CLI 执行所有操作。

0 投票
1 回答
95 浏览

hyperledger-fabric - fabric-sdk-node 无法检索现有用户的上下文

我在调用函数时遇到了一些问题<async> getUserContext(name, checkPersistence),到目前为止,我知道它只有在我尝试获取现有用户的上下文时才会失败,但它确实适用于非现有用户。

我用来创建客户端对象并调用函数的代码如下:

错误是:

[2019-10-04 11:41:38.701] [错误] utils/registerUser - TypeError:无法读取未定义的属性“曲线”

据我所知,这没有任何意义。我发现的唯一解决方案是检查证书是否是最新的,即删除它并让 runApp.sh 和 setupAPIs.sh(我使用hyperledger/fabric-samples中的余额转移示例)创建再次包含所有这些证书的文件夹。

0 投票
2 回答
244 浏览

hyperledger-fabric - 将远程结构网络与客户端应用程序连接起来

我正在尝试使用结构节点 SDK 将客户端应用程序连接到部署在远程云实例上的结构网络。为此,我使用已部署实例的 IP 地址修改了我的连接配置文件。一切正常,直到提交交易发生。在提交事务时,它仍然显示无法连接到本地主机端口。可能是什么问题呢?

0 投票
1 回答
298 浏览

hyperledger-fabric - 使用 couchdb(CouchDBKeyValueStore) 的 Hyperledger Fabric 客户端凭证存储

我正在使用 Hyperledger Fabric SDK for node.js 来注册用户。我正在使用此代码在结构中进行部署。它使用 FileKeyValueStore(使用文件来存储键值)来存储客户端的用户凭据。我想使用 CouchDBKeyValueStore 将用户密钥存储在 CouchDB 数据库实例中。所以我在stackoverflow上找到了示例源代码。但我不知道<USERNAME>, <PASSWORD>, <URL>. 例如,我不知道是操作系统的用户名还是我要注册的用户名。

使用 CouchDB 的 Hyperledger Fabric 客户端凭证存储

0 投票
1 回答
351 浏览

hyperledger-fabric - Hyperledger Fabric:从使用 Node SDK 编写的链代码中调用 Python 脚本

我正在使用 Hyperledger Fabric 开发应用程序,其中用 nodeJS 编写的应用程序调用也用 nodeJS 编写的链代码函数。这个链码函数应该调用一个 Python 脚本,做一些事情并将结果写入链码函数。该链码函数应该将 Python 脚本返回的结果存储在账本上,并将成功存储状态返回给调用应用程序。我尝试通过以下方式使用nodeJS给出的子进程模块来做到这一点 -

python 脚本 mergeModel.py 存储在与链代码相同的目录中。但是,这并没有按预期调用 python 脚本。有什么我想念的吗。谢谢。

0 投票
0 回答
159 浏览

node.js - 无法在截止日期前与 Debian 的 armv7 上的 nodejs 应用程序连接

我正在使用带有 Debian 映像的 beaglebone-black armv7 作为 HLF nodejs 客户端应用程序。该应用程序使用fabric-client、fabric-ca-client、fabric-network节点模块,并构建为客户端调用的rest API(使用curl进行测试),然后该API作为通往HLF网络的网关,这要归功于连接配置文件配置。

问题是完全相同的应用程序(具有完全相同的连接配置文件)在我的 Ubuntu 机器上运行良好(它与部署在 AWS 实例中的网络通信)但是,当使用 Debian 在 armv7 上工作时,客户端即使它设法成功注册(来自 CA 容器的 docker 日志确认)在调用或查询链码时无法与对等方通信"Error: Failed to connect before the deadline".

我不明白为什么我会收到此错误,这可能取决于我的 Ubuntu 机器和我的嵌入式 Debian 设备之间的差异,或者也由于我不知道的设置或配置。

显然,Debian 的节点模块已正确编译,因为我从 package.json 开始在 Debian 设备本身上使用了 npm install。

在我收到的错误下方。

客户端:

API 端:

0 投票
1 回答
183 浏览

hyperledger-fabric - 如何使用 nodejs SDK 为超级账本结构网络添加新组织

我是 Hyperledger Fabric 的新手。

我需要了解如何使用 nodejs sdk 将新组织添加到超级账本结构网络。

TIA。

问候, Heero 旁遮普语

0 投票
1 回答
55 浏览

hyperledger-fabric - Fabric sdk 连接配置文件添加新组织并安装链码

我在我们的一个项目中使用 Hyperledger 结构。我正在使用fabric sdk,它充当Hypereledger网络的客户端和前端的服务器。现在

  1. 可以说,我正在运行具有 2 个组织的结构网络,并且我正在托管结构 sdkjs,我将调用包含 connection.json 的(中间件)以连接到超级账本结构网络。是否可以在超级账本结构现有网络中再添加一个三分之一的组织。如果可以在不停止网络的情况下,如果更新组织,我是否需要一直更新中间件的 connection.json。意味着我需要停止正在运行的 farbric sdkjs 中间件服务器,更新 connection.json 然后重新启动它。

  2. 是否可以在不被超级账本网络阻止的情况下将链码安装到通道。

  3. 超级账本结构中是否支持不可替代令牌 ERC721 概念。

0 投票
0 回答
37 浏览

hyperledger-fabric - Fabric SDK 资源使用高峰问题

我们已经使用结构节点 SDK 容器化了一个快速应用程序,以与区块链网络进行交互。

我们已将其与 Fabric 网络一起部署在单个 VM 上。

在以一定负载进行测试时,我们观察到 express 应用程序(结构 SDK)与其他结构组件相比消耗了大量的 CPU 和内存资源。

我观察到的是,在 invoke-chaincode.js 中生成客户端对象和通道对象总共需要 50 毫秒到 200 毫秒(波动)。

这可能是我们的 CPU 和内存使用量激增的原因吗?

机器规格:

4 核、8GB 内存、256GB 固态硬盘

网络规格:

两个 ORG,每个有两个对等点,两个 CA,每个对等点一个沙发 DB,单独订购者。