7

I would like to know if the LMDB files are cross-platform compatible, more specifically between macOS and Linux. I am trying to import a raw blockchain (that I exported yesterday on macOS) onto a Raspberry Pi 3. However, judging from the current commit rate, it's going to take roughly 19 more days. That isn't feasible. I was thinking, if the LMDB files are compatible, I will just temporarily stop my macOS node, copy over the entire .bitmonero directory, and fire them backup up on both platforms. Would that work?

Note: The .bitmonero directory on the Raspberry Pi 3 is currently on an external USB-attached 5400 rpm drive (exFAT file system).

Update: I copied my .bitmonero directory from macOS to Raspberry Pi (Ubuntu MATE 16.04). Started monerod --detach, seemed to recognize it, so far so good. After about 1h20m, I am still at block 1175453 and daemon is not catching up:

$ monerod status
Creating the logger system
Height: 1175453/1176194 (99.9%) on mainnet, not mining, net hash 25.08 MH/s, v3, up to date, 5+0 connections

I switched to --log-level 1, and am seeing some error messages:

2016-Nov-09 22:42:18.803852 [P2P6]ERROR /DISTRIBUTION-BUILD/src/cryptonote_protocol/cryptonote_protocol_handler.h:94 Unkonown command:1007
2016-Nov-09 22:42:18.804381 [P2P6]ERROR /DISTRIBUTION-BUILD/src/p2p/net_node.h:150 Unkonown command:1007

At --log-level 2 I see an endless series of these errors:

2016-Nov-09 22:56:50.576666 Attempting to get output pubkey by global index, but key does not exist
2016-Nov-09 22:56:50.642883 EXCEPTION: Attempting to get output pubkey by global index, but key does not exist

Not sure how to debug this further …

1
  • Did you ever find out what these error messages are caused by? The command 1007 error appears to be related to node running fluffy blocks, but is the key does not exist error related? monero.stackexchange.com/questions/2629/…
    – iyrin
    Commented Jan 6, 2017 at 9:28

1 Answer 1

9

As of v0.10.0, yes the LMDB files are cross-compatible between 32 and 64bit architectures. They have always been cross-compatible between OSs. They are still byte-order dependent but almost everyone uses little-endian CPUs these days so it's not much of an issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.