三、hyperledger fabric 开发第一个智能合约

一、编写智能合约代码HelloWorld.go,go语言实现,代码很简单,每个合约包含两个方法,Init、Invoke。

package main

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

type Helloworld struct {

}

func (t * Helloworld) Init(stub shim.ChaincodeStubInterface) peer.Response{

    args:= stub.GetStringArgs()

    err := stub.PutState(args[0],[]byte(args[1]))

    if err != nil {
        shim.Error(err.Error())
    }

    return shim.Success(nil)
}

func (t *Helloworld) Invoke (stub shim.ChaincodeStubInterface) peer.Response{

    fn, args := stub.GetFunctionAndParameters()

    if fn =="set" {
        return t.set(stub, args)
    }else if fn == "get"{
        return t.get(stub , args)
    }
    return shim.Error("Invoke fn error")
}

func (t *Helloworld) set(stub shim.ChaincodeStubInterface , args []s

你可能感兴趣的:(hyperledger,fabric,hyperledger,fabric,区块链,超级账本,智能合约)