code: func (s *PublicBlockChainAPI) GetStorageAt(ctx context.Context, address common.Address, key string, blockNr rpc.BlockNumber) (hexutil.Bytes, error) {
  	state, _, err := s.b.StateAndHeaderByNumber(ctx, blockNr)
  	if state == nil || err != nil {
  		return nil, err
  	}
  	res := state.GetState(address, common.HexToHash(key))
  	return res[:], state.Error()
  }
docs: // GetStorageAt returns the storage from the state at the given address, key and
  // block number. The rpc.LatestBlockNumber and rpc.PendingBlockNumber meta block
  // numbers are also allowed.