code: func (lc *LightChain) GetBlockByNumber(ctx context.Context, number uint64) (*types.Block, error) {
  	hash, err := GetCanonicalHash(ctx, lc.odr, number)
  	if hash == (common.Hash{}) || err != nil {
  		return nil, err
  	}
  	return lc.GetBlock(ctx, hash, number)
  }
docs: // GetBlockByNumber retrieves a block from the database or ODR service by
  // number, caching it (associated with its hash) if found.