Gin+Gateway+Fabric2.4.4二初始化账本和前端写入数据到账本
这是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框架的很多
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjagbg
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01