docs
docs copied to clipboard
Update ocean.py configuration code snippet
Is your feature request related to a problem? Please describe.
The current code snippet for ocean.py on this page throws an error while using mumbai
network.
Traceback (most recent call last):
File "git/ocean.py-playground/6.resolve_asset.py", line 20, in <module>
print(asset.as_dictionary())
AttributeError: 'NoneType' object has no attribute 'as_dictionary'
(venv) user@user-pc:~/Desktop/git/ocean.py-playground$ python -m compute-to-data.1_publish_dataset
Traceback (most recent call last):
File "/home/user/.pyenv/versions/3.9.13/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/user/.pyenv/versions/3.9.13/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "git/ocean.py-playground/compute-to-data/1_publish_dataset.py", line 5, in <module>
data_nft = ocean.create_data_nft(
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/enforce_typing/decorator.py", line 29, in wrapper
return func(*args, **kwargs)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/ocean_lib/ocean/ocean.py", line 173, in create_data_nft
tx_id = nft_factory.deploy_erc721_contract(
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/enforce_typing/decorator.py", line 29, in wrapper
return func(*args, **kwargs)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/ocean_lib/models/data_nft_factory.py", line 86, in deploy_erc721_contract
return self.send_transaction(
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/enforce_typing/decorator.py", line 29, in wrapper
return func(*args, **kwargs)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/ocean_lib/web3_internal/contract_base.py", line 206, in send_transaction
"gasPrice": self.get_gas_price(self.web3),
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/enforce_typing/decorator.py", line 29, in wrapper
return func(*args, **kwargs)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/ocean_lib/web3_internal/contract_base.py", line 182, in get_gas_price
return web3.eth.generate_gas_price()
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/eth.py", line 973, in generate_gas_price
return self._generate_gas_price(transaction_params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/eth.py", line 213, in _generate_gas_price
return self.gasPriceStrategy(self.web3, transaction_params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/gas_strategies/time_based.py", line 208, in time_based_gas_price_strategy
avg_block_time = _get_avg_block_time(web3, sample_size=sample_size)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/gas_strategies/time_based.py", line 47, in _get_avg_block_time
latest = w3.eth.get_block('latest')
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/eth.py", line 677, in get_block
return self._get_block(block_identifier, full_transactions)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/module.py", line 57, in caller
result = w3.manager.request_blocking(method_str,
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/manager.py", line 197, in request_blocking
response = self._make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/manager.py", line 150, in _make_request
return request_func(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/gas_price_strategy.py", line 90, in middleware
return make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/attrdict.py", line 33, in middleware
response = make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 94, in middleware
response = make_request(method, params)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 96, in middleware
return _apply_response_formatters(method=method, response=response, **formatters)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 51, in _apply_response_formatters
return _format_response("result", result_formatters[method])
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/formatting.py", line 47, in _format_response
response, response_type, method_response_formatter(appropriate_response)
File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/eth_utils/applicators.py", line 72, in apply_formatter_if
return formatter(value)
File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/eth_utils/functional.py", line 45, in inner
return callback(fn(*args, **kwargs))
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/eth_utils/applicators.py", line 84, in apply_formatters_to_dict
yield key, formatters[key](item)
File "git/ocean.py-playground/venv/lib/python3.9/site-packages/web3/middleware/validation.py", line 75, in _check_extradata_length
raise ExtraDataLengthError(
web3.exceptions.ExtraDataLengthError: The field extraData is 97 bytes, but should be 32. It is quite likely that you are connected to a POA chain. Refer to http://web3py.readthedocs.io/en/stable/middleware.html#geth-style-proof-of-authority for more details. The full extraData is: HexBytes('<bytes-removed>')
I think this is because of difference in underlying working of ploygon testnet and the same code might not work for polygon mainnet as well.
Describe the solution you'd like
No error while using mumbai
network. Update the code snippet.
Describe alternatives you've considered NA
Additional context NA