当我创建流时,它们不会出现在流列表中。我需要在cordapp模块中创建它们吗?项目正常建设。
项目架构1
答案 0 :(得分:0)
因此,如果没有源代码,我们将无法真正知道为什么它没有出现在列表中。
值得一提的是,还有一些晦涩的错误,我怀疑您在这里遇到的问题是您的代码没有覆盖progressTracker。
在此处注意文档:
除非流覆盖进度跟踪器,否则流无法运行
因此,请记住这一点,以免引起您的问题。
这是来自Corda github上yo cordapp的progressTracker示例。
public class YoFlow extends FlowLogic<SignedTransaction> {
private static final ProgressTracker.Step CREATING = new ProgressTracker.Step("Creating a new Yo!");
private static final ProgressTracker.Step SIGNING = new ProgressTracker.Step("Signing the Yo!");
private static final ProgressTracker.Step VERIFYING = new ProgressTracker.Step("Verfiying the Yo!");
private static final ProgressTracker.Step FINALISING = new ProgressTracker.Step("Sending the Yo!") {
@Nullable
@Override
public ProgressTracker childProgressTracker() {
return FinalityFlow.tracker();
}
};
ProgressTracker progressTracker = new ProgressTracker(
CREATING,
SIGNING,
VERIFYING,
FINALISING
);
@Nullable
@Override
public ProgressTracker getProgressTracker() {
return progressTracker;
}
private final Party target;
public YoFlow(Party target) {
this.target = target;
}
@Suspendable
@Override
public SignedTransaction call() throws FlowException {
progressTracker.setCurrentStep(CREATING);
来源:“文档限制”页面:https://docs.corda.net/docs/corda-os/4.4/shell.html#limitations