Gin+Gateway+Fabric2.4.4演示(二)初始化账本和前端写入数据到账本

这一篇博客是对着上一篇博客的补充:基本的代码框架也是根据上一篇代码改的,具体看我上一篇博客:Gin+getway+Fabric2.4.4演示(一)从账本读数据_keep_top的博客-CSDN博客

这是Init部分代码:

gin部分:

r := gin.Default()
	r1 := r.Group("/fabric2.4.2")
	r1.POST("/Init", func(c *gin.Context) {
		initLedger(contract)
		c.JSON(200, "init ok!")
	})

Gateway的Init部分

func initLedger(contract *client.Contract) {
	fmt.Printf("Submit Transaction: InitLedger, function creates the initial set of assets on the ledger \n")

	_, err := contract.SubmitTransaction("InitLedger")
	if err != nil {
		panic(fmt.Errorf("failed to submit transaction: %w", err))
	}

	fmt.Printf("*** Transaction committed successfully\n")
}

下面是创建新Asset写入账本的部分:

gin部分:

r1.POST("/CreateAsset", func(c *gin.Context) {
		var asset Asset
		c.ShouldBind(&asset)
		c.JSON(200, asset)
		marshal, _ := json.Marshal(asset)
		CreateAsset(contract, asset)
		fmt.Println("存入成功!存入的数据是:", string(marshal))
		//fmt.Println("asset:", asset)
	})

函数部分:

func CreateAsset(contract *client.Contract, asset Asset) string {
	evaluateResult, err := contract.SubmitTransaction("CreateAsset", asset.ID, asset.Color, strconv.Itoa(asset.Size), asset.Owner, strconv.Itoa(asset.AppraisedValue))
	if err != nil {
		panic(fmt.Errorf("failed to evaluate transaction: %w", err))
	}
	result := formatJSON(evaluateResult)

	fmt.Printf("*** Result:%s\n", result)

	return string(evaluateResult)
}

打开postman测试:

init测试:

 进行查询:

再进行创建Asset测试:

 输入属性的值:

 我们再进行查询:

显示我们已经存入账本成功了!

也可以查看couchdb:

 

Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

目前在很多使用Golang的中小型公司中进行业务开发,使用Gin框架的很多
 

在使用Hyperledger Fabric 2.4Gin框架的网关进行读取和写入账本数据时,可以通过以下步骤完成: 1. 配置网络:首先,需要配置Hyperledger Fabric网络,包括创建通道、定义组织和节点等。可以使用Fabric提供的工具进行网络配置。 2. 定义智能合约:在Hyperledger Fabric网络中,智能合约用于定义业务逻辑和操作账本数据。首先,需要编写智能合约的链码部分,并将其安装和实例化在Fabric网络中的相应节点上。 3. 编写应用程序:使用Gin框架编写应用程序,以便连接到Hyperledger Fabric网络并与账本进行交互。可以使用Gin框架提供的路由和控制器功能来处理与账本的读取和写入操作。 4. 配置网关:在Gin应用程序中配置网关,以便连接到Hyperledger Fabric网络的节点。需要指定每个节点的连接信息,如访问凭证、通道等。 5. 读取账本数据:通过在Gin应用程序中定义相应的路由和控制器,可以使用网关连接到特定的节点,并使用已定义的智能合约对账本数据进行查询操作。将查询结果返回给应用程序的客户端。 6. 写入账本数据:同样,使用Gin应用程序中的路由和控制器,可以通过网关连接到指定的节点,并使用已定义的智能合约对账本数据进行写入操作。根据业务需求,可以将需要写入数据作为请求参数传递给智能合约。 通过以上步骤,您可以在Hyperledger Fabric 2.4Gin框架的网关中实现对账本数据的读取和写入操作。注意,在实际开发中可能还需要处理错误处理、权限控制和数据验证等方面的问题,以确保数据的安全性和完整性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值