私有以太坊区块链上的数据在几天后丢失/消失



我正在Azure上的虚拟机上部署一个私有以太坊区块链(geth(。在区块链上部署我的 Solidity 合约并向其启动我的 NodeJS 应用程序后,我能够通过 nodejs 环回应用程序的 web apis 正常添加数据,并且一切正常,我可以使用 GET API 查看添加的数据。

但是,在 1-2-3 天(随机(后,我无法检索通过 GET API 添加的数据,同时我仍然能够添加新数据,以确认 Geth 运行良好且未中断。

我正在使用以下命令运行 geth:

geth --datadir ./myDataDir --rpc --networkid 1441 console 2>> myEth.log

myEth.log没有显示任何错误,nodejs日志也很干净。

eth.syncing显示false,这意味着网络已同步。

myDataDir文件夹的大小仍在增加,因此从逻辑上讲,数据应该在那里的某个地方,但它没有显示。

这不是一个私有区块链!

--networkid 1441

这仅表示您与也运行 ID 为 1441 的网络的客户端进行通信。这可能不太可能,但如果其他人运行 ID 为 1441 的网络,此节点将很好地连接到您的节点。如果具有相同ID的另一个网络具有更长(更"重"(的链,这将覆盖您的本地链。

为避免这种情况,请尝试使用更随机的网络 ID,可能是 7-9 位数字,并使用

--nodiscovery

或者只使用--dev预设。

最新更新