-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ocean.py marketplace quickstart fails #89
Comments
Debugging info: In
|
Just talking with @alexcos20 : the problem is that ocean.py does not know what the smart contract addresses on rinkeby are. Unlike ocean.js, it's not smart enough to figure those out itself at this point. This can be fixed in the quickstart by setting the ADDRESS_FILE envvar. Here's how ocean.js is working: https://github.com/oceanprotocol/ocean.js/blob/main/src/utils/ConfigHelper.ts#L21 |
The rinkeby addresses for ocean.py and contracts are out of sync. Not sure which is the one in error. New github issue created: |
To try to get this issue solved without waiting for the fix listed in #92 above, I changed the addresses locally. That is:
export NAME_ADDRESS_FILE=/home/trentmc/address.json
Same issue :( |
However it turns out that it might be just an issue with rinkeby aquarius. More digging led me to see the following. (And this is fully independent of ocean.py) Of the bash commands below, the first two work, and the third fails. curl https://aquarius.mainnet.oceanprotocol.com/api/v1/aquarius/assets
curl https://aquarius.ropsten.oceanprotocol.com/api/v1/aquarius/assets
curl https://aquarius.rinkeby.oceanprotocol.com/api/v1/aquarius/assets I posted this to eng slack, Marian is taking a look. Update: created a zenhub issue for this one. "Aquarius failing on rinkeby" |
My debugging notes, for posterity: Ideally this ticket will be solved once the two new issues above are solved. |
Update: @ssallam worked on this, and got Aquarius to work for the third. I just checked and can confirm it's working now too. |
Another issue emerged: service urls in the READMEs pointed to *.dev-ocean.com rather than *.oceanprotocol.com. I created a github issue for this: #93 |
Up to this point, 3 problems emerged that led to 3 corresponding github issues, as given in above comments. Each of those problems have been solved, and github issues closed. Therefore we're now in a position to test the marketplace flow again, for this github issue. |
The
It says |
I was able to replicate your error, @surajsjain. I fixed that error with this PR: #97 Notes:
|
Now it's working up to mid step 7. |
Here's the error I get in mid step 7, which is the current subject of this issue.
|
Just put in 3c5e07f Now it's successfully running to end of step 7/7. Still have the bonus rounds to go. |
What was left: bonus rounds. I realized that we can simply deprecate these. So I did that in 508611f. Specific reasons given in that commit. |
Im still running into @trentmc's original doc-type error. Can someone please explicate how to resolve? I couldn't figure it out from the thread above - Thanks!
|
@tmk1221 Are you using those same inputs? Is this Aquarius the public one or is it private? Can you paste some configs? What parameters are you using for ocean.assets.create? Please tag me and I'll try to help you out :) |
@calina-c much appreciated - thanks for your response. I'm running Barge, which appears to start up Aquarius on http://172.15.0.5:5000 After running Barge, aquarius_1 loops through "Trying to connect..." and then "WORKER TIMEOUT". Not sure if this is expected behavior, but please see attached "barge_log.txt" for details. Previously I changed Aquarius to run on port 5001, because there was already a process bound to default port 5000 on my Mac Mini (i.e. airplay functionality). But I changed back to default port 5000. Interestingly, I no longer get the doc-type error, but my program still hangs on the ocean.assets.create() line. When I escape, it prints the following message:
Here is my address.json file in directory: /Users/traviskassab/.ocean/ocean-contracts/artifacts
Also, just to be throrough, I attached all compose-files, but these should now be default, and match git clone ocean.py barge_log.txt |
@tmk1221 this seems to be related to a connection error, specifically from the validation endpoint. It also seems to be a problem from Aquarius itself, rather than ocean.py specifically. If you use curl or POSTMAN and use the Aquarius root URL (GET http://172.15.0.5:5000), do you get any response? How about if you POST to the validation endpoint (http://172.15.0.5:5000/api/v1/aquarius/assets/ddo/validate) with similar metadata (as you would through ocean.py, i.e. just POST the metadata dictionary to that endpoint)? |
Yes I believe you correct about connection error, because I don't get a response when calling either of those APIs. In between Aquarius printing "Trying to connect" and "WORKER TIMEOUT", I see the following error.... it appears to be an issue with Gunicorn, which I tried installing previous versions, but to no avail:
I do also want to mention that Im on a Mac Mini M1 (ie. Apple Silicon), which I know can give trouble due to architecture; however, I installed ocean-lib with -arch flag, and received no errors. |
@tmk1221, could you check if there is any service listening on 5000/TCP before and after starting barge ?
|
Nothing listen before Barge. And this listening after starting Barge:
The first time I tried running Barge, Aquarius failed to launch because a process was already listing to port 5000. It was related to AirPlay, but I turned this setting off, which killed that process, and was able to launch Aquarius afterwards. |
In marketplace quickstart, the line
asset = ocean.assets.create(metadata...)
fails.I copied the python code into a file play.py and ran that. Here's the py file.
Here's the traceback:
The text was updated successfully, but these errors were encountered: