mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-25 03:47:18 +00:00
docs: document DB incompatibilities, fix #3456
Signed-off-by: Roman Khimov <roman@nspcc.ru>
This commit is contained in:
parent
d8cf424e0a
commit
5d29a3fdab
1 changed files with 22 additions and 0 deletions
|
@ -403,3 +403,25 @@ where:
|
|||
|
||||
Note that `Transaction` is a NeoGo extension that isn't supported by the NeoC#
|
||||
node and must be disabled on the public Neo N3 networks.
|
||||
|
||||
## DB compatibility
|
||||
|
||||
Real networks with large number of blocks require a substantial amount of time
|
||||
to synchronize. When operating a number of node instances with similar
|
||||
configurations you may want to save some resources by performing synchronization
|
||||
on one node and then copying the DB over to other instances. In general, this
|
||||
can be done and this is supported, but NeoGo has a lot of options that may
|
||||
affect this:
|
||||
- any differences in `ProtocolConfiguration` section make databases
|
||||
incompatible, except for `Max*` settings, `MemPoolSize`,
|
||||
`P2PNotaryRequestPayloadPoolSize`, `SeedList`, `TimePerBlock`.
|
||||
Protocol configuration is expected to be the same on all nodes of the same
|
||||
network, so don't touch it unless you know what you're doing.
|
||||
- DB types (Level/Bolt) must be the same
|
||||
- `GarbageCollectionPeriod` must be the same
|
||||
- `KeepOnlyLatestState` must be the same
|
||||
- `RemoveUntraceableBlocks` must be the same
|
||||
|
||||
BotlDB is also known to be incompatible between machines with different
|
||||
endianness. Nothing is known for LevelDB wrt this, so it's not recommended
|
||||
to copy it this way too.
|
||||
|
|
Loading…
Reference in a new issue