Wie kann ich die EVM-Zeit in web3.py erhöhen?

Wenn ich mit web3.js, Truffle und Ganache arbeite, kann ich Folgendes tun:

web3.currentProvider.send({method: "evm_increaseTime", params: [numOfSeconds]});

Wie kann ich das Äquivalent in web3.py machen?

Wenn ich das mache:

from web3 import HTTPProvider
for func in dir(HTTPProvider):
    if not func.startswith('_'):
        print(func)

Ich bekomme:

decode_rpc_response
encode_rpc_request
endpoint_uri
get_request_headers
get_request_kwargs
isConnected
logger
make_request
middlewares
request_func

Ist es möglicherweise eine dieser Funktionen, die ich aufrufen muss?

Danke schön!

AKTUALISIEREN:

Ich habe festgestellt, dass ich die Anfrage wie folgt codieren kann:

provider = Web3(HTTPProvider("http://127.0.0.1:8545")).providers[0]
request = encode_rpc_request("evm_increaseTime", [123])

Beim Drucken requesterhalte ich:

b'{"jsonrpc": "2.0", "method": "evm_increaseTime", "params": [123], "id": 0}'

Aber wie sende ich diese Anfrage?

Antworten (1)

OK, das scheint zum Job zu passen:

web3 = Web3(HTTPProvider("http://127.0.0.1:8545"))
provider = web3.providers[0]
provider.make_request("evm_increaseTime", [numOfSeconds])