发行工分
本教程将演示工分模块的下列功能:
- 发行工分
- 增发工分
- 转让工分
- 查询工分
- 查询账户工分
有关工分
的介绍请参考这里。
需求: 开发前请完成准备工作。
开发步骤
初始化 SDK
参考初始化 SDK
定义工分变量
Copy
symbol := "credit"
name := "test credit"
minUnit := "credit"
scale := 18
initialSupply := 10000
maxSupply := 100000
mintable := true
工分发行
调用 Token
模块的 IssueToken
方法发行工分。
Copy
baseTx := types.BaseTx{
From: accountName,
Gas: uint64(gas),
Fee: fee,
Memo: "",
Mode: mode,
Password: password,
}
issueTokenReq := token.IssueTokenRequest(
Symbol: symbol,
Name: name,
MinUnit: minUnit,
Scale: scale,
InitialSupply: initialSupply,
MaxSupply: maxSupply,
Mintable: mintable,
}
_, err := client.Token.IssueToken(issueTokenReq, baseTx)
查询工分
根据 Symbol
查询发行的工分。
Copy
res, err := client.Token.QueryToken(symbol)
增发工分
调用 Token
模块的 MintToken
方法进行增发。默认将增发到工分 Owner。
Copy
mintTokenReq := token.MintTokenRequest{
Amount: 1000,
}
_, err := client.Token.MintToken(mintTokenReq, baseTx)
转让工分所有权
调用 Token
模块的 TransferToken
方法转让工分所有权。
Copy
recipient := "iaa18up8anyjpal8rncm8rd4ukp5f7etga795gp33q"
transferTokenReq := token.TransferTokenRequest(
Symbol: symbol,
Recipient: recipient,
}
_, err := client.Token.TransferToken(transferTokenReq, baseTx)
查询账户工分
查询 recipient 的全部工分。
Copy
res, err := client.Token.QueryTokens(recipient)
完整示例代码
以下是此工分应用的完整代码:
Copy
TODO