我在安装链码的时候一切正常,安装的结果如下
安装链码的命令:peer chaincode install -n badexample -v 1.0.0 -l golang -p github.com/chaincode/badexample
可以看到链码已经成功安装了
但是当我实例化的时候,出现了以下错误
链码实例化的命令:peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n badexample -l golang -v 1.0.0 -c '{"Args":["init"]}'
下面是测试用的链码:badexample.go
package main
import (
"bytes"
"fmt"
"github.com/hyperledger/fabric/core/chaincode/shim"
pb "github.com/hyperledger/fabric/protos/peer"
"math/rand"
"strconv"
"time"
)
type BadExampleCC struct {
}
//每一个链码必须实现2个方法Init(),Invok()
//链码的初始化
func (c *BadExampleCC) Init(stub shim.ChaincodeStubInterface) pb.Response {
//直接返回成功
return shim.Success(nil)
}
//链码交互的入口
func (c *BadExampleCC) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
//直接返回一个随机数结果
return shim.Success(bytes.NewBufferString(strconv.Itoa(int(rand.Int63n(time.Now().Unix())))).Bytes())
}
func main() {
err := shim.Start(new(BadExampleCC))
if err != nil {
fmt.Printf("Error starting Simple chaincode: %s", err)
}
}