Git Product home page Git Product logo

Comments (7)

Daniel-K-Ivanov avatar Daniel-K-Ivanov commented on July 28, 2024

I've deduced that the cache TTL is ~1second

from node.

slumericanBx avatar slumericanBx commented on July 28, 2024

having a similar problem myself

from node.

mdehoog avatar mdehoog commented on July 28, 2024

@Daniel-K-Ivanov can you share your full curl? I'm not seeing any response for that request:

REQUEST='{
    "jsonrpc": "2.0",
    "method": "eth_getProof",
    "params": [
        "0xb6f147a87ce210648e341569b61a132e02990653",
        [
            "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56d"
        ],
        "0x5ec534"
    ],
    "id": 0
}'
curl -d '$REQUEST'  -H "Content-Type: application/json" https://goerli.base.org
{"jsonrpc":"2.0","id":0,"error":{"code":-32000,"message":"header not found"}}

https://goerli.basescan.org/address/0xb6f147a87ce210648e341569b61a132e02990653 not seeing anything on this account

from node.

Daniel-K-Ivanov avatar Daniel-K-Ivanov commented on July 28, 2024

@mdehoog

@Daniel-K-Ivanov can you share your full curl? I'm not seeing any response for that request:

REQUEST='{
    "jsonrpc": "2.0",
    "method": "eth_getProof",
    "params": [
        "0xb6f147a87ce210648e341569b61a132e02990653",
        [
            "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56d"
        ],
        "0x5ec534"
    ],
    "id": 0
}'
curl -d '$REQUEST'  -H "Content-Type: application/json" https://goerli.base.org
{"jsonrpc":"2.0","id":0,"error":{"code":-32000,"message":"header not found"}}

https://goerli.basescan.org/address/0xb6f147a87ce210648e341569b61a132e02990653 not seeing anything on this account

Yes, sorry. I've passed the wrong CURL request (targeting Optimism Goerli State). Here is the proper JSON for Base:

{
    "jsonrpc": "2.0",
    "method": "eth_getProof",
    "params": [
        "0xf904d6c85bacd4d0f4c3c60f170d5052111d5c54",
        [
            "0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56d"
        ],
        "0x1d70ef"
    ],
    "id": 0
}

Keep in mind that if you execute the request now you will get a proper value populated in the result.storageProof[0].value field. The issue can be reproduced by:

  1. Start with an empty storage slot
  2. Run queries for getting proof of the storage and checking what the value property is for the storage proof. It will start with 0x0
  3. Execute a transaction that manipulates the storage slot and changes the value
  4. Notice that the queries for the storage value are persisting to return 0x0 instead of returning the changed value from step 3

from node.

roberto-bayardo avatar roberto-bayardo commented on July 28, 2024

@Daniel-K-Ivanov Do you see the same behavior from optimism goerli nodes or does this seem specific to Base?

And since the third argument is a fixed block number, wouldn't you expect the returned value to remain unchanging? Or do you see the same behavior when you provide "latest" instead?

from node.

Daniel-K-Ivanov avatar Daniel-K-Ivanov commented on July 28, 2024

@roberto-bayardo

@Daniel-K-Ivanov Do you see the same behaviour from optimism goerli nodes or does this seem specific to Base?

And since the third argument is a fixed block number, wouldn't you expect the returned value to remain unchanging? Or do you see the same behaviour when you provide "latest" instead?

  • I see this behaviour only for Base Goerli. Optimism Goerli is working fine and the storage value is not being cached there.
  • My application submits a TX to a contract on Base Goerli, which stores bytes32 in an array. Several minutes after the Transaction is processed (mined), I am querying for eth_getProof targeting the L2 block number in which the transaction was accepted. In some cases the returned value for the storage slot is 0x0 even after querying several times in 3-second intervals. In others, the returned value for the storage slot is the correct one.

I've tried using the public endpoint and a dedicated endpoint from QuickNode in both of which the issue is reproducing.

In the coming days, I might have more information/details of the problem and potentially isolate it better. I will update you if that is the case.

from node.

Daniel-K-Ivanov avatar Daniel-K-Ivanov commented on July 28, 2024

I managed to resolve the issue. The problem was on my side and more specifically, the blockNumber that I was specifying at which eth_getProof to be executed was wrong.

I am closing the issue

from node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.