• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
keep_top
帮助1

这是Init部分代码:

gin部分:

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

Gateway的Init部分

  1.  
    func initLedger(contract *client.Contract) {
  2.  
    fmt.Printf("Submit Transaction: InitLedger, function creates the initial set of assets on the ledger \n")
  3.  
     
  4.  
    _, err := contract.SubmitTransaction("InitLedger")
  5.  
    if err != nil {
  6.  
    panic(fmt.Errorf("failed to submit transaction: %w", err))
  7.  
    }
  8.  
     
  9.  
    fmt.Printf("*** Transaction committed successfully\n")
  10.  
    }

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

gin部分:

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

函数部分:

  1.  
    func CreateAsset(contract *client.Contract, asset Asset) string {
  2.  
    evaluateResult, err := contract.SubmitTransaction("CreateAsset", asset.ID, asset.Color, strconv.Itoa(asset.Size), asset.Owner, strconv.Itoa(asset.AppraisedValue))
  3.  
    if err != nil {
  4.  
    panic(fmt.Errorf("failed to evaluate transaction: %w", err))
  5.  
    }
  6.  
    result := formatJSON(evaluateResult)
  7.  
     
  8.  
    fmt.Printf("*** Result:%s\n", result)
  9.  
     
  10.  
    return string(evaluateResult)
  11.  
    }

打开postman测试:

init测试:

学新通

 进行查询:

学新通

再进行创建Asset测试:

 输入属性的值:

学新通

 我们再进行查询:

学新通

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

也可以查看couchdb:

 学新通

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

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfjagbg
系列文章
更多 icon
同类精品
更多 icon
继续加载