seed를 난수 생성으로 생성
seed, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
hc instance 생성
hc := &HeaderChain{
config: config,
// ...
rand : mrand.New(mrand.NewSource(seed.Int64))),
engine : engine
}
hc.genesisHeader = hc.GetHeaderByNumber(0)
// ...
hc.currentHeader.Store(hc.genesisHeader)
//...
return bc, nil
core.NewBlockChain()