anchor.diff:  
   genesis_test_() ->
       {setup,
  -     fun() -> {ok, Pid} = aec_chain:start_link(fake_genesis_block()), Pid end,
  +     fun() -> {ok, Pid} = aec_chain:start_link(genesis_block()), Pid end,
        fun(_ChainPid) -> ok = aec_chain:stop() end,
        fun() ->
  -             GB = fake_genesis_block(),
  +             GB = genesis_block(),
                ?assertEqual({ok, GB}, aec_chain:top_block()),
                GH = aec_blocks:to_header(GB),
                ?assertEqual({ok, GH}, aec_chain:top_header()),
  
positive.code: -include("common.hrl").
  -include("blocks.hrl").
  
  fake_genesis_block() ->
      #block{height = 0,
             prev_hash = <<0:?BLOCK_HEADER_HASH_BYTES/unit:8>>}.
  
  top_test_() ->
      {foreach,
       fun() -> {ok, Pid} = aec_chain:start_link(fake_genesis_block()), Pid end,
       fun(_ChainPid) -> ok = aec_chain:stop() end,
       [{"Initialize chain with genesis block, then check top block with related state trees",
         fun() ->
                 GB = fake_genesis_block(),
                 ?assertEqual({ok, GB}, aec_chain:top_block()),
  
                 {ok, Top} = aec_chain:top(),
  
negative.code:      {"Build chain with genesis block plus 2 headers, then store block corresponding to header before top header",
         fun() ->
                 %% Check chain is at genesis.
                 B0 = genesis_block(),
                 BH0 = aec_blocks:to_header(B0),
                 ?assertEqual({ok, BH0}, aec_chain:top_header()),
  
  