@@ -176,13 +176,23 @@ pub fn main() !void {
176176 std .process .exit (4 );
177177 }
178178
179- // TODO: read in metadata from input file
179+ // prepare file reading
180180 var io_buf : [64 * 1024 ]u8 = undefined ;
181- const reader_obj = infile .reader (& io_buf );
182- var reader = reader_obj .interface ;
183- std .debug .print ("before reading\n " , .{});
181+ var infile_reader = infile .reader (& io_buf );
182+ var reader = & infile_reader .interface ;
183+
184+ // read in metadata (magic bytes, version, network magic, block hash, UTXO count)
184185 const magic_bytes = try reader .takeArray (5 );
186+ const version = mem .readInt (u16 , try reader .takeArray (2 ), .little );
187+ const network_magic = try reader .takeArray (4 );
188+ const block_hash = try reader .takeArray (32 );
189+ const num_utxos = mem .readInt (u64 , try reader .takeArray (8 ), .little );
185190 std .debug .print ("magic bytes: {x}\n " , .{magic_bytes });
191+ std .debug .print ("version: {d}\n " , .{version });
192+ std .debug .print ("network magic: {x}\n " , .{network_magic });
193+ std .debug .print ("block hash: {x}\n " , .{block_hash });
194+ std .debug .print ("number of UTXOs: {d}\n " , .{num_utxos });
195+
186196 // TODO: implement coins conversion loop
187197 // TODO: write summary at the end
188198}
0 commit comments