fabric 智能合约做模块化开发

本文通过一个实例展示了如何在Fabric 1.0中进行智能合约的模块化开发,创建了一个由多个Go文件组成的chaincode,其中包括主程序testmain.go和子模块orgbase中的orgmanage.go。详细介绍了如何组织目录结构、编写各部分代码以及如何部署和实例化智能合约。
摘要由CSDN通过智能技术生成

序言

fabric1.0 开发chaincode的例子中一个chaincode都是由一个go文件组成,当做模块化开发时总不能多个人使用同一个go文件吧?

仔细研究了fabric1.0中的examples\chaincode\go\utxo 的例子,是可以是实现 一个chaincode由多个go文件组成的。

仿照utxo的例子,写一个实现了机构注册和机构查询的简单的功能,由2个go文件组成,第一个go文件是chaincode的main函数文件,第二个go文件实现了真正的功能,以此类推,再多的功能可以由第3个,第n个go文件实现,不同类型的go文件放到不同的子目录中,从而实现了chaincode的模块化开发。

1)建立主目录和子模块目录

       在GOPATH目录下 建立一个测试目录 mytest.com,在mytest.com下建立orgbase子模块目录

2)建立chaincode主程序

     在mytest.com目录下建立一个testmain.go的chaincode主程序文件,

     文件中必须包含main函数,Init函数和Invoke函数,文件内容如下:

package main

import (

"fmt"

"mytest.com/orgbase"

"github.com/hyperledger/fabric/core/chaincode/shim"

pb "github.com/hyperledger/fabric/protos/peer"

)

/*

定义SimpleChaincode

*/

type SimpleChaincode struct {

}

/*

主程序初始化

*/

func (t *SimpleChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {

return shim.Success(nil)

}

/*

机构开户

*/

f

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值