首页 > 其他分享 >fabric学习笔记10

fabric学习笔记10

时间:2023-01-21 09:44:16浏览次数:35  
标签:10 fabric err shim fmt args 笔记 链码

fabric学习笔记10

20201303张奕博 2023.1.22

测试实践

  • 1.启动网络

    命令:
 cd fabric-samples/chaincode-docker-devmode/
 docker-compose -f docker-compose-simple.yaml up -d
  • 2.构建并启动链码
    (1)
cd ../chaincode
mkdir hello && cd hello
vim hello.go

(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.测试

标签:10,fabric,err,shim,fmt,args,笔记,链码
From: https://www.cnblogs.com/sanfeng-ooo/p/17063614.html

相关文章

  • 读函数式编程思维笔记02_转变思维
    1. 命令式编程1.1. 按照“程序是一系列改变状态的命令”来建模的一种编程风格1.2. 传统的for循环1.2.1. 确立初始状态1.2.2. 每次迭代都执行循环体中的一系列命......
  • Foundations of Embedded IoT Systems 复习笔记 南安
    Communicationshub,border-routerorGatewaylinkslowpowerhardwaretotheoutsideworldNetworkWifi/EthernetLowPowerWideAreaNetworksLowpowerIPv6n......
  • ZYNQ学习笔记 程序固化
    ZYNQ程序的固化PS:本次实验基于zynq7010芯片,开发软件为vivado2018.3。​ zynq7010和其他的fpga板一样,日常我们开发时使用的JTAG调试下载进去的二进制文件断电后会丢失的......
  • 舞蹈链 (DLX, Dancing Links X) 算法笔记
    舞蹈链(DLX,DancingLinksX)算法精确覆盖问题在一个全集X中若干子集的集合为S,S的子集S*,满足X中的每一个元素在S*中恰好出现一次。通俗地讲,给定一个\(N\)行\(M\)......
  • 【python】Matplotlib库学习笔记
    Matplotlib是python的绘图库。以下内容主要介绍Matplotlib的子库pyplot。pyplot是常用的2D绘图模块,包含一系列绘图相关函数。plot()函数plot()函数可以用来绘制......
  • IoT Network PHY 复习笔记 南安
    Sampling抽样Aliasing混叠Quantisation量化measurediscreteamplitudeinbits.Realsystemshavelimitedresourceintermsofthenumberofavailablebi......
  • 人工智能课程的复习笔记
    人工智能极大极小的算法实现的伪代码(9条消息)最清晰易懂的MinMax算法和Alpha-Beta剪枝详解Bug_Programmer的博客-CSDN博客minmax算法三个`加上Java,再敲一下空格就是代......
  • x210-2023-01-20
    1、三星S5PV210手册GPJ0CON寄存器是4bit对应一个pin脚的,所以GPJ0CON[7]~GPJ0CON[0]刚好平分32bit,但这里不是要说的重点,而是GPJ0DAT[7:0],因为到了19-ARM硬件接口GPIO4,如果......
  • ffmpeg windows10 批量转格式 .bat批处理文件
    echocurrentdir:%~dp0rem批量压缩分辨率setw=640seth=480setex0="mkv"setex1="mp4"mkdir"%~dp0%w%_%h%"for%%ain("%~dp0*.%ex0%")doffmpeg-threads2......
  • 【ABAQUS 二次开发笔记】使用keyword 、python和matlab一起处理Odb数据
    用conversionshellelement(S4R单元)建模层合板,有6层ply,每个lamina(ply)有3个integrationpoint,共计18个integrationpoint。我想得到集合SET-Middle-elem中所有integrati......