dir : core/blockchain.go
triedb 생성
triedb := trie.NewDatabaseWithConfig(db, &trie.Config{
Cache: cacheConfig.TrieCleanLimit,
Journal: cacheConfig.TrieCleanJournal,
Preimages: cacheConfig.Preimages,
})
genesis block set up (있으면 그걸 가져오고, 없으면 만든다.) 이 과정에서 config도 약간 수정
chainConfig, genesisHash, genesisErr := SetupGenesisBlockWithOverride(db, triedb, genesis, overrides)
// dir : core/genesis.go
block chain 인스턴스 생성 (cache, db, engine 등 포함)
bc := &Blockchain{...}