Failed to load freeze state from leveldb - Omnicore启动失败处理办法

栏目: 数据库 · 发布时间: 5年前

内容简介:如果你最近重新启动了omnicored节点软件的话,可能会看到这个提示信息:然后启动失败而退出。本文给出上述问题的官方解决方案及故障原因分析。同样,如果你使用图形版的omnicore-qt的话,可能会看到这个画面:

如果你最近重新启动了omnicored节点软件的话,可能会看到这个提示信息:

Failed to load freeze state from levelDB. It is unsafe to continue.

然后启动失败而退出。本文给出上述问题的官方解决方案及故障原因分析。

同样,如果你使用图形版的omnicore-qt的话,可能会看到这个画面:

Failed to load freeze state from leveldb - Omnicore启动失败处理办法

点击[OK]按钮后,omnicore-qt也就退出了。

无论你使用0.3.1版本还是最新的0.4.0版本的omnicored或omnicore-qt,上述错误都无法避免, 这导致你无法使用omni节点。

解决方案

正式解决方案:Omni官方承认这是一个软件bug,正式的解决方案是 等待新的版本 ,但是目前新版本的发布日期还未确定。 你可以跟踪官方github的这个 992# issue ,来及时 获得omni节点软件新版本的动态。

临时解决方案:官方在twitter同时给出了在新版本发布之前的 临时性解决方案

Failed to load freeze state from leveldb - Omnicore启动失败处理办法

简单地说,就是在启动omnicored时使用 -startclean 选项。例如:

~$ omnicored -startclean

这是一个费时的操作,依赖于你的机器配置与网络情况,可能需要几个小时甚至几天的时间。

避免重新启动:需要指出的是,这个Bug仅仅影响启动过程,如果你的omni节点还在正常运行就不用担心。 因此官方同时建议,在新的版本发布之前, 最好不要重新启动omnicored或omnicore-qt。

原因分析

查看omnicore.log,你会发现omnicore在启动过程中解析omni协议的阶段,一条错误的USDT(资产类型:31) 冻结交易造成了软件失败。

问题是,这个错误的交易是怎么产生的?

一种可能的原因是,这是一个针对性伪造的攻击性交易,通过P2P连接传入omni节点软件,从而造成了omni节点软件 的启动故障。

======================================================================

分享一些比特币、以太坊、EOS等区块链相关的交互式在线编程实战教程:

  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在 Java 代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在 Php 代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对 python 工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、 mongodb 、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发 ,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解 ,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、通道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
  • Hyperledger Fabric java 区块链开发详解 ,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、频道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解 ,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是 go 语言工程师快速入门区块链开发的最佳选择。

汇智网原创,转载请标明出处。


以上所述就是小编给大家介绍的《Failed to load freeze state from leveldb - Omnicore启动失败处理办法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript & jQuery

JavaScript & jQuery

David Sawyer McFarland / O Reilly / 2011-10-28 / USD 39.99

You don't need programming experience to add interactive and visual effects to your web pages with JavaScript. This Missing Manual shows you how the jQuery library makes JavaScript programming fun, ea......一起来看看 《JavaScript & jQuery》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换