为组织添加用户时常见连接配置文件丢失错误

2024-01-02

我正进入(状态

Error: Common connection profile is missing this client's organization and certificate authority 

运行时出错gateway.getClient().getCertificateAuthority()代码行。我的连接配置文件就在那里,根据我的理解,它没有问题。

以下是我的nodejs客户端代码。

'use strict';

const { FileSystemWallet, Gateway, X509WalletMixin } = require('fabric-network');
const path = require('path');

const ccpPath = "../connection-ogr4.json";

async function main() {
    try {

        let user = 'user2';
        // Create a new file system based wallet for managing identities.
        const walletPath = path.join(process.cwd(), 'wallet');
        const wallet = new FileSystemWallet(walletPath);
        console.log(`Wallet path: ${walletPath}`);

        const userExists = await wallet.exists(user);

        // Check to see if we've already enrolled the admin user.
        const adminExists = await wallet.exists('admin');

        // Create a new gateway for connecting to our peer node.
        const gateway = new Gateway();
        await gateway.connect(ccpPath, { wallet, identity: 'admin', discovery: { enabled: true, asLocalhost: true } });
        // Get the CA client object from the gateway for interacting with the CA.
        const ca = gateway.getClient().getCertificateAuthority()

它使用以下连接 json 文件。

{
"name": "network-org4",
"version": "1.0.0",
"client": {
    "organization": "Org4",
    "connection": {
        "timeout": {
            "peer": {
                "endorser": "300"
            }
        }
    }
},
"organizations": {
    .......
},
"certificateAuthorities": {
    "ca.org4.bc4scm.de": {
        "url": "https://localhost:9054",
        "caName": "ca-org4",
        "tlsCACerts": {
            "path": "crypto-config/peerOrganizations/org4.bc4scm.de/tlsca/tlsca.org4.bc4scm.de-cert.pem"
        },
        "httpOptions": {
            "verify": false
        }
    }
}

}

出现这个问题的原因是什么?感谢您的见解。


可能存在“渠道”、订购者、同行、缺失。有关更多见解,您可以参考 -https://fabric-sdk-node.github.io/tutorial-network-config.html https://fabric-sdk-node.github.io/tutorial-network-config.html同时下面是运行片段,您只需根据您的网络更改配置即可。

{
  "name": "dockercompose_default",
  "version": "1.0",
  "client": {
     "organization": "org1",
     "connection": {
         "timeout": {
             "peer": {
                 "endorser": "300"
             },
             "orderer": "300"
         }
     }
 },
  "channels": {
      "common": {
          "orderers": [
              "orderer.example.com"
          ],
          "peers": {
              "peer0.org.example.com": {
                  "endorsingPeer": true,
                  "chaincodeQuery": true,
                  "ledgerQuery": true,
                  "eventSource": true
              },
              "peer1.org.example.com": {
                  "endorsingPeer": true,
                  "chaincodeQuery": false,
                  "ledgerQuery": true,
                  "eventSource": false
              }

          }
      },
      "a-b": {
          "orderers": [
              "orderer.example.com"
          ],
          "peers": {
              "peer0.org.example.com": {
                  "endorsingPeer": true,
                  "chaincodeQuery": true,
                  "ledgerQuery": true,
                  "eventSource": true
              },
              "peer1.org.example.com": {
                  "endorsingPeer": true,
                  "chaincodeQuery": false,
                  "ledgerQuery": true,
                  "eventSource": false
              }

          }
      }
  },
  "organizations": {
      "org1": {
          "mspid": "org1MSP",
          "peers": [
              "peer0.org.example.com",
              "peer1.org.example.com"
          ],
          "certificateAuthorities": [
              "ca.org.example.com"
          ],
          "adminPrivateKey": {
              "path": "../artifacts/crypto-config/peerOrganizations/org.example.com/users/[email protected] /cdn-cgi/l/email-protection/msp/keystore/d30f6a06fa605d23da82f7f98bce3c00b37707f6363ca698331c6a1d834c47d4_sk"
          },
          "signedCert": {
              "path": "../artifacts/crypto-config/peerOrganizations/org.example.com/users/[email protected] /cdn-cgi/l/email-protection/msp/signcerts/[email protected] /cdn-cgi/l/email-protection"
          }
      }    
  },
  "orderers": {
      "orderer.example.com": {
          "url": "grpcs://localhost:7050",
          "grpcOptions": {
              "ssl-target-name-override": "orderer.example.com",
              "grpc-max-send-message-length": -1
          },
          "tlsCACerts": {
              "path": "../artifacts/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt"
          }
      }
  },
  "peers": {
      "peer0.org.example.com": {
          "url": "grpcs://localhost:7051",
          "eventUrl": "grpcs://localhost:7053",
          "grpcOptions": {
              "ssl-target-name-override": "peer0.org.example.com",
              "grpc.keepalive_time_ms": 600000
          },
          "tlsCACerts": {
              "path": "../artifacts/crypto-config/peerOrganizations/org.example.com/peers/peer0.org.example.com/tls/ca.crt"
          }
      },
      "peer1.org.example.com": {
          "url": "grpcs://localhost:7056",
          "eventUrl": "grpcs://localhost:7058",
          "grpcOptions": {
              "ssl-target-name-override": "peer1.org.example.com"
          },
          "tlsCACerts": {
              "path": "../artifacts/crypto-config/peerOrganizations/org.example.com/peers/peer1.org.example.com/tls/ca.crt"
          }
      }        
  },
  "certificateAuthorities": {
      "ca.org.example.com": {
          "url": "https://localhost:7054",
          "httpOptions": {
              "verify": true
          },
          "tlsCACerts": {
              "path": "../artifacts/crypto-config/peerOrganizations/org.example.com/peers/peer0.org.example.com/tls/ca.crt"
          },
          "registrar": [
              {
                  "enrollId": "admin",
                  "enrollSecret": "adminpw"
              }
          ],
          "caName": "ca.org.example.com"
      }        
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为组织添加用户时常见连接配置文件丢失错误 的相关文章

随机推荐

  • Repo同步后,目录下没有文件

    我已经为 Android 源代码设置了一个新的 Repo 执行 repo 同步后 repo 目录中没有文件 我错过了什么 I used repo init u git android git kernel org platform mani
  • Azure B2C。使用 Azure 门户编辑自定义属性

    我已在 Azure 门户中创建了 Azure B2C 应用程序 我只需要为此应用程序使用登录策略 无需注册 我需要创建两种用户 Simple User and Admin 为此 我创建了自定义字符串属性 Role 它通过令牌作为登录策略的声
  • PHP if ( $some_var == 1 ) 总是返回 true,即使它不是 true?

    这个问题很简单 但我不确定解决它的最佳方法是什么 如果变量包含数字 我如何确保 if 语句仅在确实存在时才返回 true some var is one PHP 是一种松散类型语言 这意味着值可以根据上下文更改其类型 当使用松散比较时 1
  • 有没有办法指定浏览器的最小和最大缩放级别?

    最近的浏览器允许使用 CTRL CTRL 鼠标滚轮以及触控板上的两根手指捏合手势来更改缩放级别 虽然我自己发现该功能非常方便 各个网站上的字体通常太小 我无法阅读 但我们进行了一些测试 其中测试人员 有意或无意 应用了非常极端的缩放级别 在
  • 反应本机 android/app/build.gradle 文件丢失

    我是本地反应新手 我想创建一个使用 firebase 推送通知的简单应用程序 所以我使用 expo init 创建了我的反应应用程序 现在我陷入了本教程的第 2 点https github com invertase react nativ
  • Microsoft JScript 运行时错误:“$”未定义

    我正在尝试使用以下代码隐藏 显示视图中的元素 buttonClass IDhere click function theDivYouWantToShowClass IDhere toggle 然而 我不断得到 Microsoft JScri
  • 如何使用 .NET 6 在 aspnet core Web 应用程序中执行 database.ensurecreated() ?

    在 NET 5 Web应用程序中 我们在startup cs中使用如下代码来使用实体框架初始化数据库 using var serviceScope app ApplicationServices GetService
  • 查找连续相等字符的最长子串时如何处理“借用的值活得不够长”错误?

    我有一个作业 要获取带有签名的连续相等字符的最长子串fn s str gt Option lt str gt 但是 我的尝试产生了编译器错误 pub fn longest sequence s str gt Option lt str gt
  • 无法解析颜色值

    我试图让我的按钮在按下时改变其文本的颜色 但我遇到了一个无法解决的问题 我收到一条错误消息 无法解析颜色值 然后它为我提供了文件的路径 这是我使用的文件 这个位于资源下名为 color 的新文件夹及其调用的按钮中
  • Android:错误:使用未声明的标识符“fseeko”

    当我尝试使用源代码在 Android 中构建 boost 库时 出现以下错误 发布 armeabi v7a D Android Sdk ndk gt 捆绑 工具链 llvm prebuilt windows x86 64 sysroot u
  • 不带数据库名称的 MySql ConnectionString 在 C# 中创建数据库

    我遇到了一种情况 我确实需要使用进入 mysql 服务器所需的连接字符串在 MYSQL 中创建一个数据库 到目前为止 我已经使用了带有数据库名称的连接字符串 所以在这种情况下 执行我的连接字符串结构是什么 创建数据库查询到 mysql 服务
  • 使用 Stack 作为全局包管理器的推荐方法

    例如 我想在全球范围内安装一些 Haskell 库hindent我的编辑器的 Haskell 集成使用了它 推荐的方法是什么 我以为stack install hindent是执行此操作的正确方法 然而 后来我想更新我的软件包 发现有没办法
  • 如何以编程方式放大/缩小 WebView 的内容?

    我正在尝试以编程方式放大 缩小应用程序中 WebView 对象的内容 但我找不到一个好的方法来做到这一点 有人可以给我一些帮助吗 如果能有一些代码示例就更好了 最后 lollypop 支持 Zoomby 但在 API 21 下 zoomin
  • React-Native:如何打开本地捆绑的二进制文件

    我正在编写一个反应本机应用程序 我希望它使用包含设备固件更新的 zip 文件进行部署 在让用户发送更新之前 我需要我的代码来打开 zip 并对其内容进行一些验证 我发现了很多 zip 处理 NPM 包 所以我需要做的就是加载文件内容 这样我
  • kubectl run 命令失败并出现连接被拒绝错误

    我正在关注 kubernetes io 上的 hellonode 教程 http kubernetes io docs hellonode http kubernetes io docs hellonode 我在尝试执行 创建您的 Pod
  • 无法使用 Actions SDK 读取意图

    我的 action json 文件中有以下操作 description Recommend movies initialTrigger intent GIVE RECOMMENDATION queryPatterns queryPatter
  • Django 1.4 - 重定向到非 HTTP url

    我们有一个重定向到非 HTTP url 方案的视图 它在 iOS 应用程序中使用 但由于我们已经升级到 Django1 4 因此执行此重定向代码时会发生崩溃 它崩溃了 myyrlscheme 的可疑操作 使用方案 appdev 不安全地重定
  • 在Linux环境下运行.bat

    有没有办法在Linux环境下运行 bat文件 我有几个 bat 文件 它们的目的是调用 mvn install install file 脚本 因此 脚本中不依赖任何操作系统 谢谢你 您可以使用wine http www winehq or
  • Perl foreach 循环变量范围

    我是 Perl 新手 在编写以下代码片段后对 Perl 作用域规则感到困惑 usr bin perl my i 0 foreach i 5 10 print i n print Outside loop i i n 我预计输出如下 5 6
  • 为组织添加用户时常见连接配置文件丢失错误

    我正进入 状态 Error Common connection profile is missing this client s organization and certificate authority 运行时出错gateway get