常见问题和解决方法

From Nxt Wiki
Jump to: navigation, search
This page is a translated version of the page Common problems and resolutions and the translation is 100% complete.

Other languages:
čeština • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎français • ‎italiano • ‎Nederlands • ‎português do Brasil • ‎русский • ‎Türkçe • ‎українська • ‎中文(简体)‎

1 一般软件问题

1.1 当我尝试启动该软件,我得到一个Java错误。

NXT依赖Java V1.7和Java开发者工具包的最新版本。确保你从Oracle[1]并安装最新版本!你可以通过在终端窗口中运行以下命令:java -version 检查你计算机上是否运行的是最新版半Java。

1.2 当试图打开http://localhost:7874/或者 http://127.0.0.1:7874 , 我得到“java.lang.NullPointerException”错误

这通常意味着你的块链被损坏了。有时候,停止并重新启动您的服务器可以解决这种情况。如果还不行,请按照下列步骤“我的块链无法加载”。

1.3 当我访问我的服务器,我得到一个黑屏和一句“矩阵有你” 。这是怎么回事?

如果你是在本地计算机上运行的NXT软件 ,并通过浏览https://127.0.0.1:7875/ (或https://localhost:7875/ )访问它,你应该不会得到这个错误。但是,如果你在一个公共服务器VPS上安装NXT ,并尝试远程访问它,很可能会出现这种情况。出于安全原因,该软件是假设你访问NXT唯一的办法就是从本地计算机下访问。这是使用NXT最安全的方式。如果你希望能够从其他地方访问你的客户端,而且没有编辑配置文件以允许远程访问,你将得到“矩阵有你”的消息。要解决这一问题,你需要编辑一个配置文件。根据您的nxt的文件夹,你会发现在webapps/root/WEB-INF发现一个web.xml文件。在文本编辑器中打开此文件,并寻找一个名为 "allowedUserHosts"的参数。添加任何你想要的IP地址。如果你不担心安全问题,删除所有现有地址和输入*。警告:这意味着你的服务器将接受任何人的登录,包括黑客和攻击者。

1.4 我无法在Web浏览器中加载客户端

NXT使用几个不同的端口,但每个端口使用不同的协议。通过一个未加密的连接访问您的客户端,使用如下地址:http://localhost:7874/ 。要使用加密连接访问您的客户端,使用这个地址:https://localhost:7875/ 。 对于7874端口,你必须使用HTTP 。对于7875端口,你必须使用HTTPS。如果这两个地址都不工作,你也可以尝试如下地址:http://127.0.0.1:7874/https://127.0.0.1:7875/

1.5 我块链加载不了!

您的数据文件可能已损坏。请尝试以下步骤:

  • 停止你的Java软件。
  • 导航到“NXT”文件夹,并删除所有以".nxt"结尾的文件(不是“.nxt.bak”!)
  • 重新启动您的NXT软件,稍等几分钟,然后检查NXT客户端,看看块链是否已经开始加载。如果不是
    • 再次停止你的Java软件。
    • 这个位置手动下载新块链文件。解压缩文件,并用它们来替换那些在你的“NXT”文件夹中的.nxt文件。
  • 重新启动您的NXT软件,稍等几分钟,然后检查NXT客户端,看看块链是否已经开始加载。如果不是:
      • 停止你的Java软件
      • 删除你的“NXT”文件夹
      • 重新下载和重新安装NXT软件

1.6 我块链文件受到损坏

通常情况下,当NXT软件被强制终止,块链文件将受到损坏(通过是在Windows中使用Ctrl-C,强行关闭终端窗口的结果,或在UNIX中通过使用“kill -9”命令)。要创建停止该软件更好的方式,改变你启动NXT的“java”命令,如下:

java -jar start.jar STOP.PORT=<port> STOP.KEY=<password>

其中:

  • <端口>是任何可用的TCP端口。10000和65535之间的任何数字都可以。
*<password>是任何简单的密码

当你的NXT软件以这种方式启动,你就可以通过运行下面的命令正常退出:

java -jar start.jar STOP.PORT=<port> STOP.KEY=<password> --stop

其中<port> and <password> 是你启动服务器所用的相同值.

1.7 我运行是MacOS 10.6系统,它不支持Java1.7。我一定要更新MacOS么?

不需要!有一种在MacOS10.6安装Java JDK1.7的解决方法。你必须按顺序编辑plist文件:

  1. 转到:
    • /System/Library/CoreServices
  2. 编辑:
    • SystemVersion.plist
  3. ProductUserVisibleVersion=10.6.xProductVersion=10.6.x改为:
    • ProductUserVisibleVersion=10.7。8
    • ProductVersion = 10.7.8
  4. 安装JDK7并将"SystemVersion.plist"恢复正常
  5. 进入并打开/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk
  6. 取消选中Java 6虚拟机。现在Java7会被加载。

2 账户问题

2.1 客户端里显示在我的帐户里有0个NXT,但我还没有发送我的NXT到其它地方啊?

可能发生这种情况的原因有两个:

  • 在您的软件中,块链还没有被完全下载下来,包含您的余额的块尚未下载。在块面板上, 可以检查最近一个块的时间。如果不是非常近(不到两分钟),需要等待并给软件一段时间才能加载最新的块。如果你是急性子,你可以从这个位置下载一个几乎完整的块链 - 只要解压缩到你的“NXT”文件夹中。
  • 客户端软件似乎有一个bug,导致余额不正确显示。请尝试停止并重新启动您的Java软件,然后再次解锁您的帐户。

2.2 重新启动后,我要等待多久?对于一台服务器,我已经等了10分钟了

那要看是怎么回事。在web.xml中设置“communicationLoggingMask”为“3”,并读取日志。如果你看到了很多“连接超时”错误,然后设置“connectTimeout”和“readTimeout”为一个更高的值。另外,还要确保“pullThreshold”为“1”或更高。

2.3 我创建了一个帐户,但我没有在块链中看到它

一般情况下,您可以使用| NXT 块链资源管理器 来搜索您的帐户,检查您的余额,交易记录等。有关您的帐户信息将不会出现在blockchain直到有至少有一个确认的交易。这是因为块链是交易的记录,不是帐户的记录。如果您已经创建了一个帐户,但从未发送任何NXT给它,该帐户将不会出现在块链中。 从这里,你可能想了解更多关于NXT客户端 或阅读 FAQ