docs icon indicating copy to clipboard operation
docs copied to clipboard

Update ocean.py configuration code snippet

Open akshay-ap opened this issue 2 years ago • 0 comments

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

akshay-ap avatar Aug 07 '22 21:08 akshay-ap