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

时间:2018-05-24 09:37:29

标签: blockchain ethereum solidity smartcontracts go-ethereum

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

然而,在1-2-3天(随机)之后,我无法检索通过我的GET apis添加的数据,而我仍然能够添加新数据,这些数据证实了Geth正常运行并且没有。 t打断了。

我正在运行geth:

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

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

eth.syncing显示false,表示网络已同步。

myDataDir文件夹的大小仍然在增加,所以逻辑数据应该在某处,但它没有显示。

1 个答案:

答案 0 :(得分:1)

这不是私有区块链!

--networkid 1441

这仅表示您与也运行ID为1441的网络的客户端进行通信。这不太可能,但是如果其他人运行ID为1441的网络,则该节点可以很好地连接到您的节点。而且,如果其他具有相同ID的网络具有更长(更“重”)的链,则会覆盖您的本地链。

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

 --nodiscovery

或仅使用--dev预设。