4

我正在尝试在 Windows 机器上运行 RSK 区块链节点 RSKj。当我在终端中运行这一行时:

C:\Users\yemode> java -cp C:\Users\yemode\Downloads\Programs\rskj-core-3.0.1-IRIS-all.jar  co.rsk.Start

RSKj 节点开始运行,但出现以下错误:

Cannot load secp256k1 native library: java.lang.Exception: No native library is found for os.name=Windows and os.arch=x86. path=/org/bitcoin/native/Windows/x86
Exception in thread "main" java.lang.RuntimeException: Can't initialize database
        at org.ethereum.datasource.LevelDbDataSource.init(LevelDbDataSource.java:110)
        at org.ethereum.datasource.LevelDbDataSource.makeDataSource(LevelDbDataSource.java:70)
        at co.rsk.RskContext.buildTrieStore(RskContext.java:1015)
        at co.rsk.RskContext.buildAbstractTrieStore(RskContext.java:935)
        at co.rsk.RskContext.getTrieStore(RskContext.java:416)
        at co.rsk.RskContext.buildRepositoryLocator(RskContext.java:1057)
        at co.rsk.RskContext.getRepositoryLocator(RskContext.java:384)
        at co.rsk.RskContext.getTransactionPool(RskContext.java:353)
        at co.rsk.RskContext.buildInternalServices(RskContext.java:829)
        at co.rsk.RskContext.buildNodeRunner(RskContext.java:821)
        at co.rsk.RskContext.getNodeRunner(RskContext.java:302)
        at co.rsk.Start.main(Start.java:34)

这里可能是什么问题?

4

1 回答 1

4

这实际上是一个警告,而不是错误,尽管它可能看起来像后者。这意味着在您的操作系统和架构上,该特定库不存在,因此它回退到不同的实现(使用非本机库)。在这种情况下,块验证速度较慢,但​​否则 RSKj 应继续正常运行。

--import标志可以帮助您克服初始同步的“缓慢” 。请参阅RSKj 的 CLI 文档中的参考

您还可以发送 RPC 以确保您的节点运行正常。curl在终端中运行以下命令

curl \
  -X POST \
  -H “Content-Type:application/json” \
  --data ‘{“jsonrpc”:“2.0",“method”:“eth_blockNumber”,“params”:[],“id”:67}’ \
  http://localhost:4444

响应应该类似于这个

{“jsonrpc”:“2.0",“id”:67,“result”:“0x2b12”}

result是你的最后一个区块号

于 2021-10-05T18:04:24.557 回答