Closed carovidela closed 1 year ago
Hola @carovidela
Estas usando el chainId
1337, asegure que ese id corresponda a tu instancia de ganache, si estas desplegando esto en un live network tienes que user el código correcto para esa blockchain.
Hola Gracias por responder si asi es
con que versión de web3 trabajas porque estoy con python 3.8.10 web3 ultima version y me dice buscando que es un problema de ganache con la version de web3
y entre tanto probar ahora me sale esto
Traceback (most recent call last):
File "deploy.py", line 3, in eth-utils
. The ethereum-utils
package will no longer recieve updates. Please update your dependencies accordingly.
Ok, el error the cytools es bastante común, hay varias formas arreglar estoÑ
Bueno pude solucionar esto Instale WSL y esta manejando en el entorno de win con linux
sin embargo tengo un error al conectarme con ganache estoy media mariada. pero te cuento que tengo todo instalado caro@Dell-Laptop-Caro:~/demos/web3_SimpleStorage$ node -v v16.13.0 caro@Dell-Laptop-Caro:~/demos/web3_SimpleStorage$ npm -v 8.1.0
y tengo este error ahora Traceback (most recent call last): File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn conn = connection.create_connection( File "/home/caro/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 95, in create_connection raise err File "/home/caro/.local/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection sock.connect(sa) TimeoutError: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 398, in _make_request conn.request(method, url, **httplib_request_kw) File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connection.py", line 239, in request super(HTTPConnection, self).request(method, url, body=body, headers=headers) File "/usr/lib/python3.10/http/client.py", line 1282, in request self._send_request(method, url, body, headers, encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output self.send(msg) File "/usr/lib/python3.10/http/client.py", line 975, in send self.connect() File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connection.py", line 205, in connect conn = self._new_conn() File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connection.py", line 179, in _new_conn raise ConnectTimeoutError( urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPConnection object at 0x7f53f5af4550>, 'Connection to 172.30.176.1 timed out. (connect timeout=10)')
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/home/caro/.local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send resp = conn.urlopen( File "/home/caro/.local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen retries = retries.increment( File "/home/caro/.local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='172.30.176.1', port=7545): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f53f5af4550>, 'Connection to 172.30.176.1 timed out. (connect timeout=10)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/caro/demos/web3_SimpleStorage/deploy.py", line 63, in
Este es el codigo
from solcx import compile_standard, install_solc import json from web3 import Web3
with open("./SimpleStorage.sol", "r") as file: simple_storage_file = file.read()
install_solc("0.6.0") compliled_sol = compile_standard( { "language": "Solidity", "sources": {"SimpleStorage.sol": {"content": simple_storage_file}}, "settings": { "outputSelection": { "": { "": ["abi", "metadata", "evm.bytecode", "evm.bytecode.sourceMap"] } } }, }, solc_version="0.6.0", )
with open("compliled_code.json", "w") as file: json.dump(compliled_sol, file)
bytecode = compliled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["evm"][ "bytecode" ]["object"]
abi = json.loads( compliled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["metadata"] )["output"]["abi"]
w3 = Web3(Web3.HTTPProvider("http://172.30.176.1:7545")) chain_id = 1337
my_adress = "0x81568D25A76227f79cB8903acCed81Ee21e953CA" private_key = "0xa44c3b0688fab330a5a327d77891a4d51721c7514495cc260970e0114163e933"
SimpleStorage = w3.eth.contract(abi=abi, bytecode=bytecode)
nonce = w3.eth.getTransactionCount(my_adress)
transaccion = SimpleStorage.constructor().build_transaction( { "chainId": chain_id, "gasPrice": w3.eth.gas_price, "from": my_adress, "nonce": nonce, } ) singned_txn = w3.eth.account.sign_transaction(transaccion, private_key=private_key) print(singned_txn)
y esta a conexion con ganache
Queria contarles que pude solucionar los errores de conexion de WSL2 y ganache.
Si probaba la aplicacion con los datos proporcionados con la ejecucion de ganache-cli en ubuntu, compilaba correctamente. Sin embargo al usar la gui de ganache para win no lograba conectarse a la RPC informada.
Lo solucion permitiendo el acceso de ganache en el firewall de win en todos sus puertos y conexiones. Espero sea util para alguien mas.
Saldos
Me alegra que consiguieras solucionar el problema.
me devuelve un error al desplegar el siguiente codigo
y el error
caro@Dell-Laptop-Caro:~/demos/web_py_simpleStorage$ python3 deploy.py <class 'web3._utils.datatypes.Contract'> Traceback (most recent call last): File "deploy.py", line 66, in
transaccion = SimpleStorage.constructor().build_transaction(
File "/home/caro/.local/lib/python3.8/site-packages/eth_utils/decorators.py", line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File "/home/caro/.local/lib/python3.8/site-packages/web3/contract.py", line 692, in build_transaction
return fill_transaction_defaults(self.web3, built_transaction)
File "cytoolz/functoolz.pyx", line 249, in cytoolz.functoolz.curry.call
File "/home/caro/.local/lib/python3.8/site-packages/web3/_utils/transactions.py", line 114, in fill_transaction_defaults
default_val = default_getter(web3, transaction)
File "/home/caro/.local/lib/python3.8/site-packages/web3/_utils/transactions.py", line 60, in
'gas': lambda web3, tx: web3.eth.estimate_gas(tx),
File "/home/caro/.local/lib/python3.8/site-packages/web3/eth.py", line 868, in estimate_gas
return self._estimate_gas(transaction, block_identifier)
File "/home/caro/.local/lib/python3.8/site-packages/web3/module.py", line 57, in caller
result = w3.manager.request_blocking(method_str,
File "/home/caro/.local/lib/python3.8/site-packages/web3/manager.py", line 197, in request_blocking
response = self._make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/manager.py", line 150, in _make_request
return request_func(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/gas_price_strategy.py", line 90, in middleware
return make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/attrdict.py", line 33, in middleware
response = make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/formatting.py", line 87, in middleware
web3_formatters_builder(w3, method),
File "/home/caro/.local/lib/python3.8/site-packages/web3/middleware/validation.py", line 140, in build_method_validators
w3_chain_id = w3.eth.chain_id
File "/home/caro/.local/lib/python3.8/site-packages/web3/eth.py", line 632, in chain_id
return self._chain_id()
File "/home/caro/.local/lib/python3.8/site-packages/web3/module.py", line 57, in caller
result = w3.manager.request_blocking(method_str,
File "/home/caro/.local/lib/python3.8/site-packages/web3/manager.py", line 198, in request_blocking
return self.formatted_response(response,
File "/home/caro/.local/lib/python3.8/site-packages/web3/manager.py", line 171, in formatted_response
raise ValueError(response["error"])
ValueError: {'message': 'Method eth_chainId not supported.', 'code': -32000, 'data': {'stack': 'Error: Method eth_chainId not supported.\n at s.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\subproviders\geth_api_double.js:66:1)\n at t (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:116:1)\n at c.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\subproviders\gethdefaults.js:17:1)\n at t (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:116:1)\n at o.d.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\subproviders\filters.js:89:1)\n at o.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\subproviders\subscriptions.js:135:1)\n at t (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:116:1)\n at f.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\subproviders\delayedblockfilter.js:27:1)\n at t (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:116:1)\n at c.handleRequest (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\ganache-core\lib\subproviders\requestfunnel.js:32:1)\n at t (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:116:1)\n at s._handleAsync (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:103:1)\n at Timeout._onTimeout (C:\Users\Carolina\AppData\Local\Programs\Ganache\resources\app.asar\node_modules\ganache-cli\build\webpack:\ganache\node_modules\web3-provider-engine\index.js:87:1)\n at ontimeout (timers.js:469:11)\n at tryOnTimeout (timers.js:304:5)\n at Timer.listOnTimeout (timers.js:264:5)', 'name': 'Error'}}