Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
There are various locale related bugs in various versions of boost,
where exceptions are thrown in boost::filesystem APIs when the
current locale is not to boost's liking. It's not clear what "not
to boost's liking" means in detail, though "en" and "en_US.UTF-8"
are not to its liking.
Fix it by running a test function that's known to throw in such
a case, and resetting LANG and LC_ALL to C if an exception is
thrown. In simplewallet, the locale is queried before that so the
correct translations will still be used.
|
|
Replace boolean values and exceptions where appropriate
|
|
Also make the number of blocks endian independant, and add
support for testnet
|
|
This option will export to the specified file path.
The default file path remains <data-dir>/export/blockchain.raw
|
|
Have blockchain_export use read-only mode when source is BlockchainLMDB.
|
|
Update help output for this and other options.
|
|
Update appropriate files (CMakeLists.txt, README.md)
|
|
Remove repeated coinbase tx in each exported block's data.
Add resume from last exported height to blockchain_export, making it the
default behavior when the file already exists.
Start reorganizing the utilities.
Various cleanup.
Update output, including referring to both height and block numbers as
zero-based instead of one-based. This better matches the block data,
rather than just some parts of the existing codebase.
Use smaller default batch sizes for importer when verifying, so progress
is saved more frequently.
Use small default batch size (1000) for importer on Windows, due to
current issue with big transaction sizes on LMDB.
file format
-----------
[4-byte magic | variable-length header | block data]
header
------
4-byte file_info length
file_info struct
file format major version
file format minor version
header length (includes file_info struct)
[rest of header, padded with 0 bytes up to header length]
block data
----------
4-byte chunk/block_package length
block_package struct
block
txs (coinbase/miner tx included already in block)
block_size
cumulative_difficulty
coins_generated
4-byte chunk/block_package length
block_package struct
[...]
|
|
|
|
Instantiate BlockchainDB in blockchain exporter to reflect recent
updates.
This applies when blockchain_export.h defines SOURCE_DB as DB_LMDB.
|
|
|
|
Where this method is used, a BlockchainDB object is always expected, so
a pointer is unnecessary and less safe.
|
|
This allows an LMDB database to be used as the blockchain to export.
Adjust SOURCE_DB in src/blockchain_converter/blockchain_export.h
depending on needs. Defaults to DB_MEMORY.
DB_MEMORY is a sensible default for users migrating to LMDB, as it
allows the exporter to use the in-memory blockchain while the other
binaries work with LMDB, without recompiling anything.
|
|
Based on work by tomerkon.
See https://github.com/tomerkon/bitmonero
src/cryptonote_core/bootfilesaver.{h,cpp}
src/bootfilegen/bootfilegen.cpp
|