If I understand correctly, every time Bitok is generated, a brand new address is created.
I’m using the same wallet on two different computers. Each computer generated Bitok independently.
However, the newly generated addresses are not synchronized between wallets, and there is no way to manually add or rescan addresses.
As a result, the same wallet ends up showing different transactions and different balances depending on the computer used.
This means that if a wallet instance did not generate an address itself, it will never detect the transaction, even though it belongs to the same wallet.
One workaround would be to transfer all funds to a single “common” address shared by all wallet instances.
However, this goes directly against basic privacy principles imagined by Satoshi, as it requires address reuse and makes transaction linking trivial.
A wallet holds a set of private keys. Addresses are public identifiers derived from those keys.
If the same wallet.dat is used on two machines, they are not meant to operate independently. New keys generated on one copy do not exist in the other.
This is how Bitcoin 0.3 behaved. Bitok behaves the same way.
A wallet can only detect transactions for keys it contains.
Address reuse is not required. Consolidation, if desired, is done later by spending.
Additionally, I’m unable to import a wallet generated on Windows into Linux using the same Bitok version.
The import fails with error 22, and the wallet is not imported at all.
Error 22 is likely a Berkeley DB environment error.
Shut down the client.
Copy wallet.dat into the Linux data directory (~/.bitokd/).
Make sure file permissions allow read/write.
Start once with:
This rebuilds the wallet database and usually fixes cross-platform DB issues.