01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000
01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d010bffffffff0100f2052a010000004341047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77ac00000000
And let's break it down.
01000000 | Version |
01 | Number of inputs |
000...000 (32 bytes) | TXID of the first input (in this case null data since it is a coinbase transaction) |
ffffffff | Output index number (again irrelevant here due to being a coinbase transaction) |
07 | Size of ScriptSig - 7 bytes |
04ffff001d0104 | ScriptSig - could be any arbitrary data between 2 and 100 bytes |
ffffffff | nSequence |
01 | Number of outputs |
00f2052a01000000 | Value of first output (this is 5000000000 sats (50 BTC) encoded in reverse byte order) |
43 | Size of script (67 bytes) |
410...eeac | Script |
00000000 | nLocktime |
So the only things which change are the input script (which doesn't matter since we are not unlocking any outputs in a coinbase transaction) and the output script, which changes the destination the coins are sent to.