0

基于此处列出的包定义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 (golang) 代码的字节数组放在哪里?也不确定什么chaincodePathmetadataPath是为了什么?它们是结构系统中的路径吗?

基本上,我不知道如何将我的 golang 源代码(链代码)加载到安装链代码的请求中。

4

3 回答 3

2

fabric-go-sdk可以参考chainHeroExample 检查main.gosetup.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)
    }
于 2019-05-23T04:59:21.563 回答
2

chaincodePath是包含实际链代码文件(例如chainCode.gometadataPath的目录,是可能包含元数据文件的目录,例如,如果您的链代码需要索引文件。

于 2019-05-22T20:27:24.553 回答
1

要安装链码,您必须使用以下方法:

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

这是完整的示例,这里是完整的文档

于 2019-07-18T08:58:48.013 回答