示例二:交易资产

简介

chaincode_example02.go 主要实现如下的功能:

  • 初始化 A、B 两个账户,并为两个账户赋初始资产值;
  • 在 A、B 两个账户之间进行资产交易;
  • 分别查询 A、B 两个账户上的余额,确认交易成功;
  • 删除账户。

主要函数

  • init:初始化 A、B 两个账户;
  • invoke:实现 A、B 账户间的转账;
  • query:查询 A、B 账户上的余额;
  • delete:删除账户。

依赖的包

import (
    "errors"
    "fmt"
    "strconv"
    "github.com/hyperledger/fabric/core/chaincode/shim"
)

strconv 实现 int 与 string 类型之间的转换。在invoke 函数中,存在:

X, err = strconv.Atoi(args[2])
    Aval = Aval - X
    Bval = Bval + X

args[2]<0 时,A 账户余额增加,否则 B 账户余额减少。

可扩展功能

实例中未包含新增账户并初始化的功能。开发者可以根据自己的业务模型进行添加。