Here is a simple smart contract, with a bytes32 array called items in storage.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SmartContract {

    bytes32[] public items;

    function addItem(bytes32 item) external {

    function getAllItems() external view returns(bytes32[] memory) {
        return items;


I wonder what's the actual maximum amount of data that an Ethereum node is willing to send back to a web client. Another way to ask this is, how large can the items array be before the getAllItems() function starts to fail.

1GB, 10GB, 100GB ?

Is that up to the node ? If so, what's the average configuration?

I believe knowing what the theoretical limit is would allow me to create a function that would retrieve only the right maximum amount of data.

I wasn't able to find a correct answer for previous questions on this topic.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.