示例二:交易资产

简介

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 账户余额减少。

可扩展功能

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