当前位置: 首页 > news >正文

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)
}

相关文章:

  • chaincde shim包的方法名称及其相应功能
  • Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.
  • docker重要细节
  • docker运行tomcat
  • docker启动nginx
  • docker中的命令
  • Hyperledger Fabric介绍
  • 下载hyperledger-fabric源码
  • 谷歌浏览器安装
  • docker 安装mysql8
  • 区块链相关网站
  • dokcer通过 Dockerfile 构建部署tomcat图文详解
  • SOLID原则
  • json注意事项
  • golang与protobuf
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android交互
  • Codepen 每日精选(2018-3-25)
  • download使用浅析
  • IDEA 插件开发入门教程
  • mysql innodb 索引使用指南
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Vue实战(四)登录/注册页的实现
  • vue总结
  • Wamp集成环境 添加PHP的新版本
  • 闭包,sync使用细节
  • 大快搜索数据爬虫技术实例安装教学篇
  • 关于字符编码你应该知道的事情
  • 简析gRPC client 连接管理
  • 理解在java “”i=i++;”所发生的事情
  • 排序算法学习笔记
  • 如何优雅地使用 Sublime Text
  • 源码安装memcached和php memcache扩展
  • 自动记录MySQL慢查询快照脚本
  • 积累各种好的链接
  • 进程与线程(三)——进程/线程间通信
  • ###项目技术发展史
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $.ajax()
  • (1)Nginx简介和安装教程
  • (10)STL算法之搜索(二) 二分查找
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (万字长文)Spring的核心知识尽揽其中
  • (未解决)macOS matplotlib 中文是方框
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *** 2003
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)