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

Merged
merged 12 commits into from
Sep 18, 2024
Merged

TuxedoDapp milestone 1 #1170

merged 12 commits into from
Sep 18, 2024

Conversation

AltiMario
Copy link
Contributor

@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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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
Contributor 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.

@PieWol
Copy link
Member

PieWol commented Jul 19, 2024

Hey @AltiMario ,
sadly no luck . See here. I included the error messages from the node.
Please ping me as soon as you have fixed everything and you are 100% sure that the testing guide yields successful results 100% of the time. I will no longer try around hacking.

Kind regards,
Piet

@github-actions github-actions bot added the stale label Aug 3, 2024
@github-actions github-actions bot added to close and removed stale labels Aug 18, 2024
@PieWol
Copy link
Member

PieWol commented Aug 21, 2024

Hey @AltiMario , are there any updates you might be able to share with us?

@PieWol PieWol removed the to close label Aug 21, 2024
@AltiMario
Copy link
Contributor Author

Hi @PieWol we fixed the front end but it needs a little more tuning before your review. I'll ping you in a few days. Thanks and sorry for the long wait.

@AltiMario
Copy link
Contributor Author

Hello @PieWol after my careful test (starting from scratch and following/updating the testing guide), I can finally ask you again to restart the review.
I added some notes in the testing guide to help the user understand what is not very clear in web the interface. Please read them as well.
Thanks for your time and cooperation.

@PieWol
Copy link
Member

PieWol commented Sep 18, 2024

Hey @AltiMario, thanks for the great changes. Now almost everything is working. There is only one issue with the frontend that shows already purchased Kitties still as "for sale" so that the UI supports transactions which will fail and the Kitty will not change ownership again. Are you aware of this? Do you have any idea why this is the case?

@PieWol
Copy link
Member

PieWol commented Sep 18, 2024

Sorry, I just realized that the frontend is part of Milestone 2. This issue will not impact this evaluation. Your milestone is now accepted :)

@PieWol PieWol merged commit 7b84b36 into w3f:master Sep 18, 2024
3 checks passed
Copy link

🪙 Please fill out the invoice form in order to initiate the payment process. Thank you!

Copy link

Congratulations on completing the first milestone of this grant! As part of the Grants Program, we want to help grant recipients acknowledge their grants publicly. To that end, we've created a badge for projects that successfully deliver their first milestone. Please use the badge only in reference to the work that has been completed as part of this grant, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. Furthermore, you're now welcome to announce the grant publicly. Please remember to observe the foundation's guidelines in doing so. If you haven't already, reach out to [email protected] for feedback on your announcement and cross-promotion.

Thank you for your contribution, and good luck! If you have any remaining milestone, let us know if you encounter any delays by leaving a comment on the application PR or submitting an amendment.

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

Successfully merging this pull request may close these issues.

4 participants