铸造
功能介绍
方法定义:
String mint(String to,String tag,String ddcURI, EdnMap properties);
调用者:
平台方;
核心逻辑:
1.
2.
3.
输入参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
拥有者账户 | to | String | 是 | |
标签 | tag | String | 是 | |
DDC资源信息 | ddcURI | String | 是 | |
附加属性 | properties | EdnMap | 否 |
输出参数:
字段名 | 字段 | 类型 | 必传 | 备注 |
---|---|---|---|---|
indexId | String | 是 | ddcId |
测试用例:
/**
*/
@Test
public void mint() throws Exception {
//拥有者账户地址
String account = "consumer1A_O=OPB-BeijingNode3,L=Beijing,C=CN";
//标签
String tag = "北京大学";
//图片地址
String ddcURI = "http://zunyilian.s-labs.cn";
SoulboundToken sbt = dDCSdkClient.getSBTContract().mint(account,tag,ddcURI);
System.out.println("交易数据对象:" + sbt);
System.out.println("ddcId:" + sbt.getIndexId());
System.out.println("合约地址:" + sbt.getTokenTypeId().getId());
//返回值示例:SoulboundToken(allow=Anonymous(DLBkhAz5KTYtNvZWr2fbvxT2XDKEpmnVMRK1RaBccgMfgF),
// indexId=4077760678605168640,
// tag="北京大学",
// tokenTypeId=TokenTypeId(id=sbt),
// tokenId=TokenId(id=sbt-4077760678605168640),
// holder=Anonymous(DLBkhAz5KTYtNvZWr2fbvxT2XDKEpmnVMRK1RaBccgMfgF),
// createTime=2022-08-10T03:25:07.980Z,
// meta={:properties {:type "his_normal", :dark "#242429"},
// :uri "http://zunyilian.s-labs.cn"})
}
*/
@Test
public void mintTransaction() throws Exception {
//拥有者账户地址
String account = "consumer1A_O=OPB-BeijingNode3,L=Beijing,C=CN";
//标签
String tag = "北京大学";
//图片地址
String ddcURI = "http://zunyilian.s-labs.cn";
//附加属性
EdnMap properties = EdnMap.Companion.getEMPTY().assoc("颜色", "红色").assoc("气味", "无味");
SignedTransaction signedTransaction = dDCSdkClient.getSBTContract().mintTransaction(account,tag, ddcURI,properties);
System.out.println("sbt " + signedTransaction);
//解析交易hash
String txHash = dDCSdkClient.getSBTContract().getTxHash(signedTransaction);
//获取交易数据对象,得到indexId(ddcId)
SoulboundToken sbt = dDCSdkClient.getSBTContract().getOutRefsOfType(signedTransaction, SoulboundToken.class);
System.out.println("交易hash:" + txHash);
System.out.println("交易数据对象:" + sbt);
System.out.println("ddcId:" + sbt.getIndexId());
System.out.println("合约地址:" + sbt.getTokenTypeId().getId());
}
修改于 2022-12-27 03:23:42