49 const boost::filesystem::path dir_path = file_path.parent_path();
50 if (!dir_path.empty())
52 if (boost::filesystem::exists(dir_path))
54 if (!boost::filesystem::is_directory(dir_path))
56 MFATAL(
"export directory path is a file: " << dir_path);
62 if (!boost::filesystem::create_directory(dir_path))
64 MFATAL(
"Failed to create directory " << dir_path);
72 MINFO(
"creating file");
74 m_raw_data_file->open(file_path.string(), std::ios_base::binary | std::ios_base::out | std::ios::trunc);
130 if ((requested_block_stop > 0) && (requested_block_stop < m_blockchain_storage->get_current_blockchain_height()))
132 MINFO(
"Using requested block height: " << requested_block_stop);
133 block_stop = requested_block_stop;
138 MINFO(
"Using block height of source blockchain: " << block_stop);
140 MINFO(
"Storing blocks raw data...");
143 MFATAL(
"failed to open raw file for write");
146 for (m_cur_height = block_start; m_cur_height <= block_stop; ++m_cur_height)
154 if (m_cur_height % progress_interval == 0) {
155 std::cout << refresh_string;
156 std::cout <<
"block " << m_cur_height <<
"/" << block_stop << std::flush;
160 std::cout << refresh_string;
161 std::cout <<
"block " << m_cur_height-1 <<
"/" << block_stop <<
ENDL;
163 MINFO(
"Number of blocks exported: " << num_blocks_written);