如何在corda上显示创建的流程

时间:2018-06-18 08:26:51

标签: corda

当我创建流时,它们不会出现在流列表中。我需要在cordapp模块中创建它们吗?项目正常建设。

项目架构1

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