-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
- Version: x.x.x
- Python: 3.9
- OS: Windows 10
pip freezeoutput
[2021-09-18 23:10:53,398] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\flask\app.py", line 2070, in wsgi_app
response = self.full_dispatch_request()
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\flask\app.py", line 1515, in full_dispatch_request
rv = self.handle_user_exception(e)
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\flask\app.py", line 1513, in full_dispatch_request
rv = self.dispatch_request()
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\flask\app.py", line 1499, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "E:\OpenVesselFin\jubilant-market\PythonServer\wsgi.py", line 92, in index
tx_hash = Greeter.constructor().transact()
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\eth_utils\decorators.py", line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\web3\contract.py", line 663, in transact
return self.web3.eth.send_transaction(transact_transaction)
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\web3\eth.py", line 686, in send_transaction
return self._send_transaction(transaction)
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\web3\module.py", line 57, in caller
result = w3.manager.request_blocking(method_str,
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\web3\manager.py", line 187, in request_blocking
return self.formatted_response(response,
File "e:\openvesselfin\jubilant-market\pythonserver\vessel_env\lib\site-packages\web3\manager.py", line 168, in formatted_response
raise ValueError(response["error"])
ValueError: {'code': -32601, 'message': 'The method eth_sendTransaction does not exist/is not available'}```
What was wrong?
I am calling the infura API and would like to use the Contract.constructor().transact() but it uses eth.send_transaction(transact_transaction) which for infurai doesn't work instead I have to use Eth,send_raw_transaction(raw_transaction). I am going to change to local host solution but I don't know how to implement a pull request for including eth.send_raw_transaction to the constructor() decorator
How can it be fixed?
Fill this section in if you know how this could or should be fixed.
I think including the if statement passes the key to check if was signed, or just past the transaction object after it has been signed. or write a new function to check that transaction has been signed or not. I don't know the code base well enough to implement this. However I need to move on in a hackathon so I have to figure out local host. because the only reason I am using Contract Contructor is to access Solidity code through python.
I know you have no reason to follow through on this but I think this will be essential for multi-key signs so know not depending on a single person to local host or sign transactions off
Note: We prefer to use issues to track our work. If you think you've encountered a bug in web3py or
have a feature request, you're in the right place. If you have implementation or usage questions,
please refer to our documentation and/or join the conversation
on discord.

