如何显示在corda上创建的流

问题描述 投票:0回答:1

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

项目架构1

corda
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.