@doc_metadata(categories=['<STR_LIT>'])<EOL><INDENT>def blocks(self, hashes):<DEDENT>
hashes = self._process_value(hashes, '<STR_LIT:list>')<EOL>payload = {"<STR_LIT>": hashes}<EOL>resp = self.call('<STR_LIT>', payload)<EOL>blocks = resp.get('<STR_LIT>') or {}<EOL>for k, v in blocks.items():<EOL><INDENT>blocks[k] = json.loads(v)<EOL><DEDENT>return blocks<EOL>
Retrieves a json representations of **blocks**

:param hashes: List of block hashes to return
:type hashes: list of str

:raises: :py:exc:`nano.rpc.RPCException`

>>> rpc.blocks(
...     hashes=["000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F"]
... )
{
    "000D1BAEC8EC208142C99059B393051BAC8380F9B5A2E6B2489A277D81789F3F": {
        "account": "xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000",
        "work": "0000000000000000",
        "source": "FA5B51D063BADDF345EFD7EF0D3C5FB115C85B1EF4CDE89D8B7DF3EAF60A04A4",
        "representative": "xrb_3e3j5tkog48pnny9dmfzj1r16pg8t1e76dz5tmac6iq689wyjfpi00000000",
        "signature": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "type": "open"
    }
}