Как установить цепной код с использованием Fabric SDK (Fabric-Client)? - PullRequest
0 голосов
/ 22 мая 2019

На основе определения пакета, указанного здесь https://fabric -sdk-node.github.io / master / tutorial-chaincode-lifecycle.html

const package_request = {
     chaincodeType: 'golang',
     goPath: '/gopath',
     chaincodePath: '/path/to/code',
     metadataPath: '/path/to/metadata'
}

Куда я могу поместить байтовый массив кодов go chain (golang), который находится в моем ноутбуке? Также не знаете, для чего нужны chaincodePath и metadataPath? Это путь в системе тканей?

По сути, я не знаю, как загрузить исходные коды golang (код цепи) в запрос на установку кода цепи.

Ответы [ 3 ]

2 голосов
/ 22 мая 2019

chaincodePath - это каталог, содержащий фактический файл цепного кода (скажем, chainCode.go), а metadataPath - это каталог, который может содержать файлы метаданных, например, индексировать файлы, если это необходимо для вашей цепочки кодов.

1 голос
/ 23 мая 2019

Для fabric-go-sdk вы можете обратиться к chainHeroExample .проверьте файлы main.go и setup.go.

Ниже приведен фрагмент файла main.go.

func main() {
    // Definition of the Fabric SDK properties
    fSetup := blockchain.FabricSetup{
        // Network parameters
        OrdererID: "orderer.firstproject.com",

        // Channel parameters
        ChannelID:     "mychannel",
        ChannelConfig: "/c/Projects/Go/src/github.com/hyperledger/firstproject/firstproject-network/artifacts/channel.tx",

        // Chaincode parameters
        ChainCodeID:     "firstproject",
        ChaincodeGoPath: "/c/Projects/Go",
        ChaincodePath:   "github.com/hyperledger/firstproject/chaincode/",
        OrgAdmin:        "Admin",
        OrgName:         "org1",
        ConfigFile:      "config.yaml",

        // User parameters
        UserName: "User1",
    }

    // Initialization of the Fabric SDK from the previously set properties
    err := fSetup.Initialize()
    if err != nil {
        fmt.Printf("Unable to initialize the Fabric SDK: %v\n", err)
        return
    }
    // Close SDK
    defer fSetup.CloseSDK()

    // Install and instantiate the chaincode
    err = fSetup.InstallAndInstantiateCC()
    if err != nil {
        fmt.Printf("Unable to install and instantiate the chaincode: %v\n", err)
        return
    }

    // Query the chaincode
    response, err := fSetup.QueryHello()
    if err != nil {
        fmt.Printf("Unable to query hello on the chaincode: %v\n", err)
    } else {
        fmt.Printf("Response from the query hello: %s\n", response)
    }
0 голосов
/ 18 июля 2019

Чтобы установить код цепи, вы должны использовать следующий метод:

installCCReq := resmgmt.InstallCCRequest{
                Name: ccName,
                Path: ccPath, 
                Version: ccVersion,
                Package: ccPkg}

Вот полный пример , а вот полная документация

...