Fabric SDK не удается инициализировать конфигурацию cryptosuite

#go #hyperledger-fabric

#Вперед #hyperledger-fabric

Вопрос:

Я запускаю бизнес-сеть на IBM Cloud Blockchain Platform 2.0. Я загрузил профиль подключения из раздела созданных смарт-контрактов на консоли платформы и пытаюсь подключиться с помощью Fabric SDK для Go, но я сталкиваюсь с ошибкой.

Это мой текущий соответствующий код в разделе main

 configOpts := fabricConfig.FromFile("./profiles/flex.json")
fabSDK, err := fabsdk.New(configOpts)
if err != nil {
    entry.WithError(err).Fatal("Error setting up Fabric SDK")
}
defer fabSDK.Close()
  

Ожидается: подключается к экземпляру бизнес-сети

Актуально: я получаю сообщение об ошибке

 FATA[0000] Error setting up Fabric SDK env=DEV 
error="failed to initialize configuration: unable to initialize cryptosuite using crypto suite config: 
failed to initialize crypto suite: Unsupported BCCSP Provider: "
  

Ответ №1:

Я добавляю путь «cryptoconfig» к клиенту.

BCCSP является необязательным, и вы можете удалить.

Я добавил пример конфигурации, пожалуйста, смотрите ниже.

Более подробная конфигурация на Github go-SDK config.yaml

 {
"name": "first-network-org1",
"version": "1.0.0",
"client": {
    "organization": "Org1",
    "logging": {
        "level": "info"
    },
    "cryptoconfig": {
        "path": "crypto-config"
    },
    "credentialStore": {
        "path": "/tmp/keystore",
        "cryptoStore": {
            "path": "/tmp/msp"
        }
    },
    "connection": {
        "timeout": {
            "peer": {
                "endorser": "300"
            }
        }
    }
},
"channels": {
    "mychannel": {
        "peers": {
            "peer0.org1.example.com": {}
        }
    }
},
"orderers": {
    "orderer.example.com": {
        "url": "orderer.example.com:7050",
        "grpcOptions": {
            "ssl-target-name-override": "orderer.example.com",
            "keep-alive-time": "60s",
            "keep-alive-timeout": "60s",
            "keep-alive-permit": false,
            "fail-fast": false,
            "allow-insecure": false
        },
        "tlsCACerts": {
            "path": "crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem"
        }
    }
},
"organizations": {
    "Org1": {
        "mspid": "Org1MSP",
        "cryptoPath": "crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp",
        "peers": [
            "peer0.org1.example.com",
            "peer1.org1.example.com"
        ],
        "certificateAuthorities": [
            "ca.org1.example.com"
        ]
    }
},
"peers": {
    "peer0.org1.example.com": {
        "url": "grpcs://localhost:7051",
        "tlsCACerts": {
            "path": "crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
        },
        "grpcOptions": {
            "ssl-target-name-override": "peer0.org1.example.com"
        }
    },
    "peer1.org1.example.com": {
        "url": "grpcs://localhost:8051",
        "tlsCACerts": {
            "path": "crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
        },
        "grpcOptions": {
            "ssl-target-name-override": "peer1.org1.example.com"
        }
    }
},
"certificateAuthorities": {
    "ca.org1.example.com": {
        "url": "https://localhost:7054",
        "caName": "ca-org1",
        "tlsCACerts": {
            "path": "crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem"
        },
        "httpOptions": {
            "verify": false
        }
    }
}
  

}

Комментарии:

1. Платформа IBM blockchain не предоставляет файлы конфигурации crypto, которые вы получаете при самостоятельном развертывании сети, вот почему это проблема

2. Я согласен с вами. Я нашел обходной путь ко многим решаемым файлам конфигурации. И теперь я слишком стараюсь с GO SDK. Я не могу запустить go test с Github и не знаю почему.