fabric学习笔记11

fabric学习笔记10

20201303张奕博 2023.1.23

测试实践2
导入链码依赖包

package main

import (
	"github.com/hyperledger/fabric/core/chaincode/shim"
	"github.com/hyperledger/fabric/protos/peer"
	"fmt"
)

(3)编写主函数

func main()  {
	err := shim.Start(new(HelloChaincode))
	if err != nil {
		fmt.Printf("Chaincode start err: %v", err)
	}
}

(4)自定义结构体

type HelloChaincode struct {

}

具体代码如下:

// 实例化/升级链码时被自动调用
// -c '{"Args":["Hello","World"]'
func (t *HelloChaincode) Init(stub shim.ChaincodeStubInterface) peer.Response  {
    fmt.Println("实例化....")
    
    _, args := stub.GetFunctionAndParameters()
    // 判断参数长度是否为2个
    if len(args) != 2 {
        return shim.Error("Args Err!")
    }

    fmt.Println("Save data......")

    // 通过调用PutState方法将数据保存在账本中
    err := stub.PutState(args[0], []byte(args[1]))
    if err != nil {
        return shim.Error("Save data err...")
    }

    fmt.Println("实例化成功")

    return shim.Success(nil)

}

  • 3.构建并启动链码

  • 4.测试

posted @ 2023-01-21 09:27  20201303张奕博  阅读(26)  评论(0编辑  收藏  举报