corda - Corda 是否支持状态删除场景?
问题描述
当不需要使用某些状态(在开发/生产中)时,corda 是否支持状态删除场景因为我在启动节点时遇到异常,例如“类未找到异常”,当我在项目中删除状态类并使用相同的旧时会发生这种情况持久性文件。
我认为这是因为状态类已经插入 VAULT_STATES 并且在启动节点时找不到该类。
我希望有一些提供状态删除的方法。
更多信息 在开发方面,我删除了持久性文件,当然它可以工作,但我只是担心生产方面。
解决方案
从 Corda 3 开始,如果节点将状态作为交易的一部分存储在其事务存储或保管库中,则该节点需要将状态的类定义永久保存在其类路径中。
您可以直接通过节点的数据库删除旧的交易和状态,但前提是交易解析不需要这些交易。NODE_TRANSACTIONS
您可以通过从节点数据库中的和表中删除行来完成此VAULT_STATES
操作(以及状态模式定义的任何自定义表,如果它是 a QueryableState
)。但是,如果稍后需要将删除的交易作为交易解析的一部分,您的节点将抛出错误。
Corda 的未来版本可能会提供一种机制来删除旧的或“非当前”状态和事务。您可以在此处找到有关此过程的讨论:https ://groups.io/g/corda-dev/topic/20405353 。
推荐阅读
- python - 替换数据框中的部分字符串
- visual-studio-code - 定义一个“总是获胜”的 VSCode 方案语法规则
- ios - 集合视图为连续索引路径出列相同单元格
- node.js - 为什么我不能使用 expo init 命令创建 React 本机项目?
- google-cloud-platform - Google Cloud AutoML Vision 支持哪些图像位类型?
- reactjs - 解决此反应 websocket 问题的正确方法?
- r - 在 sparklyr 中使用 ft_one_hot_encoder() 时出错
- jasper-reports - 有人可以帮我处理 Jasper 报告吗
- javascript - Puppeteer 承诺一个事件,这是正确的事件控制流程吗?
- javascript - 没有插件的打折 Woocommerce 产品的倒数计时器