hyperledge简要命令

cryptogen组织结构和账号相关的文件
configtxgen区块和交易生成
configtxlator区块和交易解析

安装链码
peer chaincode install -n demo -v 1.0 -p demo
其中-n表示名称,-v表示版本 -p表示路径

实例化链码
peer chaincode instantiate -n demo -v 1.0 -c ‘{“args”:[“john”,“0”]}’ -P ‘OR’
-c表示链码参数

调用链码
peer chaincode invoke -o order.example.com:7050 --tls $CORE_PEER_tTLS

查询链码
peer chaincode query -C mychannel -n demo -c ‘{“Args”:[“query”,“a”]}’

升级链码
安装新版本的链码
peer chaincode install -n demo -v 1.0 -p path/
升级链码upgrade
peer chaincode upgrade -n demo -v 1.0 -c ‘{“Args”:[“d”,“e”]}’ -C mychannel

打包链码和签名
打包链码
peer chaincode package -n demo -p gitbhub.com/hyperledger/fabric/
对打包文件进行签名
peer chaincode signpackage ccpak.out signedccpak.out

package main

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

type HelloFabric struct {

}

func main() {
	shim.Start(new(HelloFabric))
}

func  (t*HelloFabric)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*HelloFabric) invoke(stub shim.ChaincodeStubInterface)peer.Response  {
	s, strings := stub.GetFunctionAndParameters()
	if s=="set" {
		return t.set(stub,strings)
	}else if s=="get"{
		return t.get(stub,strings)
	}
	return shim.Error("invoke error")
}
func (t *HelloFabric) set(stub shim.ChaincodeStubInterface, args []string) peer.Response {
	err := stub.PutState(args[0], []byte(args[1]))
	if err!=nil {
		return shim.Error("")
	}
	return  shim.Success(nil)
}
func (t *HelloFabric) get(stub shim.ChaincodeStubInterface, args []string) peer.Response {
	value, e := stub.GetState(args[0])
	if e!=nil {
		return shim.Error("")
	}

	return shim.Success(value)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值