链码示例二:交易资产

简介

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

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

主要函数

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

依赖的包

  1. import (
  2. "errors"
  3. "fmt"
  4. "strconv"
  5. "github.com/hyperledger/fabric/core/chaincode/shim"
  6. )

strconv 实现 int 与 string 类型之间的转换。

在invoke 函数中,存在:

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

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

可扩展功能

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