Skip to content
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

TuxedoDapp milestone 1 #1170

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

TuxedoDapp milestone 1 #1170

wants to merge 12 commits into from

Conversation

AltiMario
Copy link

@AltiMario AltiMario commented Apr 23, 2024

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • In case of acceptance, invoices must be submitted and payments will be transferred to the Polkadot AssetHub and/or fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: w3f/Grants-Program#2112

@PieWol
Copy link
Member

PieWol commented May 6, 2024

Hey @AltiMario ,
thank you for your delivery! Sadly I ran into some issues while evaluating.

I have put up my evaluation for you to carefully read. Looking forward to you getting back to me on this by putting up the amendment PR to your original application and providing me answers to all questions and concerns in this conversation or by introducing changes to your delivery. You can get more info about amendment PRs in the FAQ of the W3F Grants Program website.

Please notify me once you think all points have been addressed and you deem your delivery ready for a re-evaluation.
Thank you!

@PieWol PieWol self-assigned this May 6, 2024
@AltiMario
Copy link
Author

hi @PieWol thanks for taking the time to review my project.
I tried to address the issues you found. Please let me know if there is anything wrong with the updated content and the procedure:

Thank you very much.

@PieWol
Copy link
Member

PieWol commented May 24, 2024

Hey @NadigerAmit and @AltiMario ,

Which is the link to the document that I can use as the testing guide, which will walk me through all the necessary steps to run all pieces needed to evaluate the functionality of this milestone? I would think that I need to run the tuxedo chain and the dApp to then interact with the CLI-wallet or Talisman to submit my transactions.

@PieWol
Copy link
Member

PieWol commented May 24, 2024

Hey @NadigerAmit and @AltiMario ,
I have updated my evaluation with some findings and questions. Looking forward to your answers and updates.
eval

@NadigerAmit
Copy link

Hey @NadigerAmit and @AltiMario ,

Which is the link to the document that I can use as the testing guide, which will walk me through all the necessary steps to run all pieces needed to evaluate the functionality of this milestone? I would think that I need to run the tuxedo chain and the dApp to then interact with the CLI-wallet or Talisman to submit my transactions.

@PieWol ,

Yes you need to run the Tuxedo blockchain so that Dapp and/Cli-wallet can interact with Tuxedo pieces for any transactions to execute.

For CLI-wallet, you can refer to https://github.com/mlabs-haskell/Tuxedo/blob/main/wallet/README.md
For kitties and Tradable KittyPiece , You can refer from below ;
image

@PieWol
Copy link
Member

PieWol commented May 24, 2024

Thanks @NadigerAmit , what about the webservice? Have you seen my question about the webservice in the evaluation? I was wondering why you were creating the webservice and the dApp as different entities. So basically I would have expected the dApp to be the only entity between wallet and blockchain. I appreciate your help ^^

@AltiMario
Copy link
Author

Hey @PieWol, I reply to your last question and let @NadigerAmit go into more detail if you still need it.

There were some key aspects of Tuxedo that we weren't aware of at the beginning, which caused challenges and strong delays.
1- Learning the landscape: Initially we focused on extending the CLI-wallet to cover the DApp functionalities, to learn the framework and have more control of the things under the hood. The plan was to reuse the wallet's Rust code in a format compatible with the Typescript DApp (".wasm"), but unfortunately, all our compilation attempts failed.

2- Missing functionalities: Tuxedo currently lacks support for smart contracts and external indexers. Without these features, we had to rely on a database to track and query UTXO transactions. Even if we could've built everything on the DApp's frontend, the use of a central database would've meant the application wasn't fully decentralized.

To make progress, we ended up exposing the CLI wallet's functions as APIs that the frontend could interact with. While this doesn't result in a fully decentralized application, considering Tuxedo's limitations at the time, a purely decentralized approach wouldn't have been feasible anyway.

@PieWol
Copy link
Member

PieWol commented May 28, 2024

@NadigerAmit please ping me as soon as you have answers to the questions from the evaluation.

@NadigerAmit
Copy link

@PieWol ,
I am sorry, I am not able to find the questions from the evaluation( #1175 )

Could you please help me to point to the questions?

I am again sorry to bother you.

@PieWol
Copy link
Member

PieWol commented May 28, 2024

Hey @NadigerAmit , no worries about bothering me. I'm happy to get updates from you. Whenever you are uncertain about the evaluation please feel free to reach out.

There was basically only one question remaining which wasn't answered by Mario. I was wondering which node version I should use for the dApp to work. Most importantly I would like you to view this part of the evaluation. It's not a question itself but an ask for you to deliver a testing guide.

There should be a dedicated testing guide to provide a walkthrough to test all of your work. This would include launching tuxedo, starting up the webservice and the dApp aswell as an example transaction with the CLI-wallet. A testing guide is mandatory for all technical deliverables. See our FAQ.

@AltiMario
Copy link
Author

hi @PieWol you are right, the documentation to run the dApp is fragmented and incomplete. I asked @philoniare to help me produce a new version that covers the gaps, but he is busy with other projects these days. It will take some days before you can read it, so please pause the evaluation for now and I will update you ASAP. Sorry for the inconvenience.

@AltiMario
Copy link
Author

hello @PieWol please look at the new Testing guide and let me know your thoughts.

@PieWol
Copy link
Member

PieWol commented Jun 10, 2024

Hey @AltiMario ,
sorry for the delay. I will start evaluating the project with the latest testing guide today.
Thanks a lot for providing the guide. I'm confident that the evaluation will now progress much faster.

@PieWol
Copy link
Member

PieWol commented Jun 13, 2024

Hey @AltiMario ,
I have updated my evaluation. Sadly I am still running into issues. Please have a look.

@AltiMario
Copy link
Author

AltiMario commented Jun 26, 2024

hi @PieWol,
apologies for the wait. The earlier team has moved on to new projects, making it difficult to bring them back. I've also taken the time to personally review everything from the beginning to ensure the guidelines are clear and to identify any additional issues. The README has been updated with thorough details for you to follow and test just like I did.

@AltiMario
Copy link
Author

hello @PieWol ,
I hope your evaluation can restart soon.
I want to mention that we have created this article about Dapp and UTXO, also relating to this project on Tuxedo
https://library.mlabs.city/cryptokitties-on-utxo

@PieWol
Copy link
Member

PieWol commented Jul 17, 2024

Hi @AltiMario ,
Sadly I still run into an issue. I configured my account in Talisman, I have my kitties created, yet for some reason I am unable to create new ones. Please see the image attached. The chain, the webservice and the frontend are running. Any idea whats wrong here?

Bildschirm­foto 2024-07-17 um 14 45 48

@AltiMario
Copy link
Author

hi, @PieWol yes I also encountered this problem during my tests.
@philoniare informed me that this is a state management issue where the same state is wrongly used for multiple cases (mom, dad, kitty, etc). I found the workaround by refreshing the page and/or removing the cache a few times, but it was not a smooth experience.
In the end, I was able to:

  • breed (but only once)
  • buy
  • rename
  • delist
  • search
  • and my kitty dashboard worked only once (at the wallet creation)
    The Dapp has room for improvement in many areas.

@PieWol
Copy link
Member

PieWol commented Jul 17, 2024

@AltiMario, for me the features were even more limited before running into the issue which rendered everything dysfunctional. I could list a kitty for sale via the dApp. Breeding etc. doesn't work and this is the logs that appear in the webservice when trying to breed as shown in the image above.

Headers map = {"x-forwarded-host": "localhost:3001", "x-forwarded-proto": "http", "x-forwarded-port": "3001", "x-forwarded-for": "127.0.0.1", "accept-language": "de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7", "accept-encoding": "gzip, deflate, br, zstd", "referer": "http://localhost:3001/breed", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "accept": "*/*", "sec-ch-ua-platform": "\"macOS\"", "dad-dna": "6cdc068fba1a6c1d0c1ac4fbacbfbf4174b5bdced2bb90bc41fcf1c8f9a6a2a6", "content-type": "application/json", "user-agent": ***, "owner_public_key": "a27da403429a205bdcadbf061a57c0cd10f81261fd072fb92643ce679a38e727", "sec-ch-ua-mobile": "?0", "child-kitty-name": "jiljl", "mom-dna": "7193cf150198760056ac0e2c4fb4212beb1f83e335c1bb9548a5726b4268791b", "sec-ch-ua": "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\"", "connection": "close", "host": "localhost:3000"}
output_ref = OutputRef { tx_hash: 0x0000000000000000000000000000000000000000000000000000000000000000, index: 0 }
kitty dna  KittyDNA(0x7193cf150198760056ac0e2c4fb4212beb1f83e335c1bb9548a5726b4268791b) found_status = None

Even after restarting the dApp and using the chrome developer console to mitigate cache issues I was not successful. Are you planning to do anything about it? I recall you mentioning that your team already left so I assume it's hard to fix the dApp from this point on. In case you would construct me a dedicated testing guide to use the cli-wallet for all the chain and webservice interaction we could quickly have this first milestone 1 accepted and abort the second milestone which focusses on the dApp. I'm just throwing some possibilities around. Looking forward to what you think and want to do. I can also try again tomorrow in case you are convinced that it's just a rare hickup from the dApp.

Best,
Piet

@AltiMario
Copy link
Author

oh no, it would be a shame to throw away all the work done on milestone 2 because of a bug in the navigation.
As mentioned, despite the issues, I managed to finish the test. I'd appreciate it if you could attempt another try tomorrow. If the problem is still blocking you, I'll seek assistance from a former team member to resolve the bug.
Thanks again for your time and availability.

@PieWol
Copy link
Member

PieWol commented Jul 17, 2024

Got it, thanks for stating your commitment! Will do so tomorrow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants