未定义类型 SampleTransaction

Type SampleTransaction is not defined

我一直在按照 https://hyperledger.github.io/composer/v0.19/tutorials/developer-tutorial.html

中所示的示例进行操作

编辑 .cto、.js 和 .acl 文件后,我在尝试创建 .bna 文件时遇到错误。

Type SampleTransaction is not defined in namespace org.example.mynetwork

我不明白为什么会出现这个错误。 我正在使用 composer v 0.19.18.

我尝试清除所有之前的安装并进行全新安装。 这是我在安装所需内容时所遵循的:

npm install --unsafe-perm --verbose -g composer-cli@0.19

npm install --unsafe-perm --verbose -g composer-rest-server@0.19

npm install --unsafe-perm --verbose -g generator-hyperledger-composer@0.19

npm install --unsafe-perm --verbose -g yo

我做错了什么? 我添加了截图 enter image description here

还有

sssaha@EN4096144:~/fabric-dev-servers/tutorial-network$ composer archive create -t​​ dir -n 。 创建业务网络存档

正在寻找 package.json 的业务网络定义 输入目录:/home/sssaha/fabric-dev-servers/tutorial-network TypeNotFoundException:类型 SampleTransaction 未在命名空间 org.example.mynetwork 中定义 命令失败

我认为您错过了一些步骤,您是否遵循了 this 教程,那么 SampleTransaction 不应出现在任何文件中 (.cto , .js 和 .acl).

以上教程中只有一笔交易,即交易

检查这些文件(.cto、.js 和 .acl)中是否存在 SampleTransaction , 删除即可。

在遵循相同的教程时,我犯了与您相同的错误,因此出现了相同的错误:有 2 个 .js 文件(在 libtest文件夹)。本教程没有确切说明我们应该覆盖 2 个中的哪一个。 我最初覆盖了 test 文件夹中的那个,并且遇到了与您相同的错误,因为 SampleTransactionlib 文件夹的 logic.js 中仍然可用。

如果您覆盖正确的 .js 文件,错误就会消失。

希望对您有所帮助。