如何从本地文件系统安装Chaincode

时间:2019-10-03 02:10:43

标签: hyperledger-fabric

我已经在本地系统中编写了链码,现在我需要在超级账本结构对等节点中安装链码,如何在本地系统中将链码安装到对等节点上。下面的代码来自超级账本结构链代码示例。请建议我

 package main

 import (
"fmt"
"strconv"

"github.com/hyperledger/fabric/core/chaincode/shim"
 pb "github.com/hyperledger/fabric/protos/peer"
  )

   // SimpleChaincode example simple Chaincode implementation
   type SimpleChaincode struct {
   }

     func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) 
      pb.Response {
fmt.Println("ex02 Init")
_, args := stub.GetFunctionAndParameters()
var A, B string    // Entities
var Aval, Bval int // Asset holdings
var err error

    if len(args) != 4 {
    return shim.Error("Incorrect number of arguments. Expecting 4")
 }

// Initialize the chaincode
A = args[0]
Aval, err = strconv.Atoi(args[1])
if err != nil {
    return shim.Error("Expecting integer value for asset holding")
}
B = args[2]
Bval, err = strconv.Atoi(args[3])
if err != nil {
    return shim.Error("Expecting integer value for asset holding")
}
fmt.Printf("Aval = %d, Bval = %d\n", Aval, Bval)

// Write the state to the ledger
err = stub.PutState(A, []byte(strconv.Itoa(Aval)))
if err != nil {
    return shim.Error(err.Error())
}

err = stub.PutState(B, []byte(strconv.Itoa(Bval)))
if err != nil {
    return shim.Error(err.Error())
}

return shim.Success(nil)
  }

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式安装链码

  • NodeSDK
  • JavaSDK
  • CLI

我建议您首先尝试使用CLI,fabric-samples有一个示例。

在看到的结构编译之后,只会将二进制文件部署到对等方