Fabric1.4 四、fabric-sdk-node的使用

该博客详细介绍了如何在Fabric 1.4环境中,利用fabric-sdk-node创建连接文件connection-org1.yaml,并通过nodejs编写enrollAdmin.js、registerUser.js、query.js和invoke.js脚本来执行管理员注册、用户注册、链码查询和调用操作。同时,还涵盖了安装必要的Node.js依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文基于hellowrold区块链环境,使用fabric-sdk-node 开发客户端应用。

1.新建连接文件

connection-org1.yaml


---
name: helloworld
version: 1.0.0
client:
  organization: Org1
  connection:
    timeout:
      peer:
        endorser: '300'
organizations:
  Org1:
    mspid: Org1MSP
    peers:
    - peer0.org1.example.com
    - peer1.org1.example.com
    - peer2.org1.example.com
    certificateAuthorities:
    - ca.org1.example.com
peers:
  peer0.org1.example.com:
    url: grpcs://localhost:7051
    tlsCACerts:
      pem: |
        -----BEGIN CERTIFICATE-----
        MIICVzCCAf2gAwIBAgIQPpRrjZvaloVkj2FDjvjdHTAKBggqhkjOPQQDAjB2MQsw
        CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
        YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
        Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMDYwNzE4MDBaFw0yOTEyMDMwNzE4
        MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
        Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
        VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
        AQcDQgAEm6zQPRtevUHiMlaEfYaAK7Uu3yCbr7s/aoWtm6HqeSP0iKBb/VCXvV0j
        LDgDLb1kK6obJBl8TA4SIX94xkQ+QaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
        JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
        DgQiBCCaMWO9GF+XwAh3KmV1pJ8zmzqazuahyjDqymQPY79+YTAKBggqhkjOPQQD
        AgNIADBFAiEAnpxtX/dFdqSZ34s6lETiMpNOg2Xus4z2X7MMHirNDvkCIHgmaZ54
        B+c5lYRNqeiO9LSawwid4jfdbZvcNQ9QZQQH
        -----END CERTIFICATE-----

    grpcOptions:
      ssl-target-name-override: peer0.org1.example.com
      hostnameOverride: peer0.org1.example.com
  peer1.org1.example.com:
    url: grpcs://localhost:8051
    tlsCACerts:
      pem: |
        -----BEGIN CERTIFICATE-----
        MIICVzCCAf2gAwIBAgIQPpRrjZvaloVkj2FDjvjdHTAKBggqhkjOPQQDAjB2MQsw
        CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
        YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
        Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMDYwNzE4MDBaFw0yOTEyMDMwNzE4
        MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
        Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
        VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
        AQcDQgAEm6zQPRtevUHiMlaEfYaAK7Uu3yCbr7s/aoWtm6HqeSP0iKBb/VCXvV0j
        LDgDLb1kK6obJBl8TA4SIX94xkQ+QaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
        JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
        DgQiBCCaMWO9GF+XwAh3KmV1pJ8zmzqazuahyjDqymQPY79+YTAKBggqhkjOPQQD
        AgNIADBFAiEAnpxtX/dFdqSZ34s6lETiMpNOg2Xus4z2X7MMHirNDvkCIHgmaZ54
        B+c5lYRNqeiO9LSawwid4jfdbZvcNQ9QZQQH
        -----END CERTIFICATE-----

    grpcOptions:
      ssl-target-name-override: peer1.org1.example.com
      hostnameOverride: peer1.org1.example.com
  peer2.org1.example.com:
    url: grpcs://localhost:7251
    tlsCACerts:
      pem: |
        -----BEGIN CERTIFICATE-----
        MIICVzCCAf2gAwIBAgIQPpRrjZvaloVkj2FDjvjdHTAKBggqhkjOPQQDAjB2MQsw
        CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
        YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz
        Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTEyMDYwNzE4MDBaFw0yOTEyMDMwNzE4
        MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
        Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD
        VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D
        AQcDQgAEm6zQPRtevUHiMlaEfYaAK7Uu3yCbr7s/aoWtm6HqeSP0iKBb/VCXvV0j
        LDgDLb1kK6obJBl8TA4SIX94xkQ+QaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud
        JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
        DgQiBCCaMWO9GF+XwAh3KmV1pJ8zmzqazuahyjDqymQPY79+YTAKBggqhkjOPQQD
        AgNIADBFAiEAnpxtX/dFdqSZ34s6lETiMpNOg2Xus4z2X7MMHirNDvkCIHgmaZ54
        B+c5lYRNqeiO9LSawwid4jfdbZvcNQ9QZQQH
        -----END CERTIFICATE-----

    grpcOptions:
      ssl-target-name-override: peer2.org1.example.com
      hostnameOverride: peer2.org1.example.com

certificateAuthorities:
  ca.org1.example.com:
    url: https://localhost:7054
    caName: ca-org1
    tlsCACerts:
      pem: |
        -----BEGIN CERTIFICATE-----
        MIICUjCCAfigAwIBAgIRAMU4/9+dq0VuPKEjSFipx/AwCgYIKoZIzj0EAwIwczEL
        MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
        cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
        Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkxMjA2MDcxODAwWhcNMjkxMjAzMDcxODAw
        WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
        U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE
        AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA
        BHkedN9y3BKwEyYKqcWM+AkWO5/xwnmybQ+eT4US8MZWNRqPpbxj04QaIb38WLaZ
        EEHWpwCZ5ibI7pMBL6pQt7qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU
        BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg
        KmZ7N0Vi4BkkiDL1YbHbv8hdIH4v1feKEDrrPbxEORswCgYIKoZIzj0EAwIDSAAw
        RQIhAIdEP0JbQI8LqW4XJ6fI/jmS9gqQPtGcwJxtof6pEieCAiAHxiG/VINKnQkT
        18juN4fAU6fKQKbRad4/WA5wA4Z6Jw==
        -----END CERTIFICATE-----


    httpOptions:
      verify: false

2.nodejs 脚本

在helloworld下创建script目录,用于放js文件

2.1 enrollAdmin.js

用于从 CA服务中获取 admin 用户注册信息

/*
 * SPDX-License-Identifier: Apache-2.0
 */

'use strict';

const FabricCAServices = require('fabric-ca-client');
const {
    FileSystemWallet, X509WalletMixin } = require('fabric-network');
const fs = require
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zone 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值