code: func (c *ChainConfig) String() string {
  	var engine interface{}
  	switch {
  	case c.Ethash != nil:
  		engine = c.Ethash
  	case c.Clique != nil:
  		engine = c.Clique
  	default:
  		engine = "unknown"
  	}
  	return fmt.Sprintf("{ChainID: %v Homestead: %v DAO: %v DAOSupport: %v EIP150: %v EIP155: %v EIP158: %v Byzantium: %v Constantinople: %v  ConstantinopleFix: %v Engine: %v}",
  		c.ChainID,
  		c.HomesteadBlock,
  		c.DAOForkBlock,
  		c.DAOForkSupport,
  		c.EIP150Block,
  		c.EIP155Block,
  		c.EIP158Block,
  		c.ByzantiumBlock,
  		c.ConstantinopleBlock,
  		c.PetersburgBlock,
  		engine,
  	)
  }
docs: // String implements the fmt.Stringer interface.