区块链服务 BCS-链代码示例:Transfer转账

时间:2025-02-12 14:55:25

Transfer转账

  • 输入说明

    参数名

    类型

    描述

    是否必须

    AddrA

    string

    A-转账者地址

    AddrB

    string

    B-收账者地址

    txinfo

    String

    交易信息PrepareTxInfo

  • 处理说明
    1. 根据账户地址获取账本中A,B的当前余额cipherBalanceAKeyABlock, cipherBalanceBKeyBBlock。
    2. 校验证明有效性。
      newCipherBalanceA,newCipherBalanceB,newCipherTxA,newCipherTxB, err := pswapi_cc.ValidateTxInfo(txInfo, cipherBalanceAKeyABlock, cipherBalanceBKeyBBlock) if err != nil {    logger.Error("fail to validate trans information")    return shim.Error("fail to validate trans information") }
    3. 输出更新后的余额(密文)

      业务的账本内容需要用户定制,将上面加密的金额合入到用户的账本中保存,demo中定义了一个存储结构,保存完后通过json序列化为一个交易记录对象进行保存。

      type TransRecord struct {    FromAddr string    ToAddr   string    TXType   string    Balance  string    TX       string    remark   string }
support.huaweicloud.com/devg-bcs/bcs_devg_0026.html