It is best described by the class CheckpointManager in bitcoinj. Have a look at the constructor for how the file format is read.
Thanks. I have seen it. And I have a question.
Checkpoint size is 96 (Block.HEADER_SIZE + CHAIN_WORK_BYTES + 4 = 80 + 12 +4). So checkpoint is data of block (header) + chainwork bytes + length.
What data for example is in header?
Which exactly kind of blocks should I chooce for adding as headers? What is chainwork bytes and length?