Corda Tokens SDK:“;有一个没有分配命令的令牌组";错误

Corda Tokens SDK:“;有一个没有分配命令的令牌组";错误,corda,Corda,我已经解决了这个问题,但我想了解为什么它会首先发生: 1.我正在使用令牌SDK的Java模板 2.我创建了自己的令牌类型 3.我修改了ExampleFlowWithFixedToken类以发布我的新令牌 4.当我运行start example flowwithfixedtoken amount:100,recipient:PartyB时,我得到错误:有一个令牌组没有分配命令 5.最初,我的新令牌类在添加时没有实现equals()方法;错误消失了,我可以发行我的代币了 为什么要添加该方法来解决问题

我已经解决了这个问题,但我想了解为什么它会首先发生:
1.我正在使用令牌SDK的Java模板
2.我创建了自己的令牌类型
3.我修改了
ExampleFlowWithFixedToken
类以发布我的新令牌
4.当我运行
start example flowwithfixedtoken amount:100,recipient:PartyB
时,我得到错误:有一个令牌组没有分配命令
5.最初,我的新令牌类在添加时没有实现
equals()
方法;错误消失了,我可以发行我的代币了

为什么要添加该方法来解决问题

公共类MyTokenType实现TokenType{
专用最终整数分位数=6;
私有最终字符串tokenIdentifier=“我的令牌”;
@NotNull
@凌驾
公共BigDecimal getDisplayTokenSize(){
返回BigDecimal.ONE.scaleByPowerOfTen(-fractionDigits);
}
@凌驾
public int getFractionDigits(){
返回分位数;
}
@NotNull
@凌驾
公共类getTokenClass(){
返回这个.getClass();
}
@NotNull
@凌驾
公共字符串getTokenIdentifier(){
返回令牌标识符;
}
@凌驾
公共布尔等于(对象obj){
返回MyTokenType的obj实例;
}
}

示例FlowWithFixedToken调用内置的IssueTokens流。 该流程在内部构建事务,指定输入、输出状态和命令(本例中为IssueCommand)。 下一步是验证合同

在验证合同之前,我们根据发行人对输入/输出令牌进行分组。 然后为每个组分配一个令牌命令。 之所以这样做,是因为如果事务包含多种类型的令牌,则需要按IssuedTokenType对它们进行分组。 另请注意,不同发行人发行的相同类型的代币不可替代。 因此,需要按IssuedTokenType进行分组。 一旦我们通过IssuedTokenType获得了组,将分别为每个组进行合同验证

当我们尝试为每个组分配一个令牌命令时,我们将IssuedTokenType in命令与组中的一个进行比较。 因此,如果我们不重写equals方法,则组中的IssuedTokenType都不会与TokenCommand中的匹配

因此,不会为该组分配任何令牌命令。 每个组应至少有一个命令。如果没有,那么我们就不知道该如何处理这群人。因此,它无法说出“存在没有指定命令的令牌组”

希望有帮助