При работе с web3.js, Truffle и Ganache я могу сделать так:
web3.currentProvider.send({method: "evm_increaseTime", params: [numOfSeconds]});
Как я могу сделать эквивалент в web3.py?
Когда я делаю:
from web3 import HTTPProvider
for func in dir(HTTPProvider):
if not func.startswith('_'):
print(func)
Я получил:
decode_rpc_response
encode_rpc_request
endpoint_uri
get_request_headers
get_request_kwargs
isConnected
logger
make_request
middlewares
request_func
Возможно, мне нужно вызвать одну из этих функций?
Спасибо!
ОБНОВЛЯТЬ:
Я обнаружил, что могу закодировать запрос следующим образом:
provider = Web3(HTTPProvider("http://127.0.0.1:8545")).providers[0]
request = encode_rpc_request("evm_increaseTime", [123])
При печати request
получаю:
b'{"jsonrpc": "2.0", "method": "evm_increaseTime", "params": [123], "id": 0}'
Но как мне отправить этот запрос?
Хорошо, это похоже на работу:
web3 = Web3(HTTPProvider("http://127.0.0.1:8545"))
provider = web3.providers[0]
provider.make_request("evm_increaseTime", [numOfSeconds])