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

Tracking Chain Milestone 3 #1024

Merged
merged 2 commits into from
Oct 11, 2023
Merged

Tracking Chain Milestone 3 #1024

merged 2 commits into from
Oct 11, 2023

Conversation

FedeC87p
Copy link
Contributor

@FedeC87p FedeC87p commented Oct 6, 2023

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, an invoice must be submitted and the payment will be transferred to the BTC/ETH/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#1915

@dsm-w3f dsm-w3f self-assigned this Oct 6, 2023
@dsm-w3f
Copy link
Contributor

dsm-w3f commented Oct 6, 2023

Thank you for the milestone delivery. Please see the evaluation document and provide proper answers and fixes. Let me know when I can continue the evaluation.

@FedeC87p
Copy link
Contributor Author

FedeC87p commented Oct 7, 2023

Hi,

I apologize for the problem, unfortunately given the complexity of demonstrating Millstone 3 "Recovery", I created a pre-configuration with some SEED SQL data to use.
The services as they are configured (within their appsetting.json) are not able to function until the SEED SQL has been performed.

https://github.com/TrackingChains/TrackingChain/wiki/Docker-Compose ----> (In case of use of Seed data it is recommended (as specified in the detail in the guide to milestone 3) to turn off all services except trackingdb and triage. Enter the SEED SQL data and then start the other services.)

My advice is to just start mcr.microsoft.com/mssql/server:2022-latest and triage api. And at this point proceed to SEED the data as illustrated in https://github.com/TrackingChains/TrackingChain/wiki/Milestone-3-Guide-to-Demo#insert-monitor-data

I chose this method to try to simplify things (I hope I haven't complicated them). The reason why the services go into error is the lack of that data (otherwise it is possible to modify appsentings.json by removing the configuration parameters that refer to the SEED SQL data, obviously this configuration that I have released is only temporary for milestone 3 and from the following ones it will be set to work even with an empty database)

@dsm-w3f
Copy link
Contributor

dsm-w3f commented Oct 9, 2023

@FedeC87p thank you for the improvements and fixes. I checked it again and I still having some problems to test some deliverables. Please see the evaluation document for details. Let me know when I can continue this evaluation.

@FedeC87p
Copy link
Contributor Author

FedeC87p commented Oct 9, 2023

Hi, sorry again for these inconveniences, unfortunately this Milestone is almost more complex in creating test cases than in writing the code :)

Delivery 3 (Tx Cleaner Worker): consists of removing all successful transactions from the Triage, Pool and Pending tables. So once you have started the Transaction Monitor Worker service you will notice that all completed transactions will no longer be visible in those tables (and will only remain in the TransactionRegistries table, so you will see the records decrease from about 12 to 2/3 records.).

Delivery 4 (Tx Unlocker Worker): For the Locked transaction, no action will be necessary because when the "Transaction Monitor Worker Service" is started, the locked will be automatically resolved by the "Transaction Locked Worker" service and the transaction will be processed again. My advice for testing it is to SEED the data (in this way the Tx Locked will be created) and not start the "Transaction Monitor Worker Service" service. You will continue to see the 2 Tx Pools in the monitor. Then start the "Transaction Monitor Worker Service" service and shortly after you will see 1 Tx that was in the Pool advance to Pending (and subsequently to Completed), this is because the Locked Tx will be unlocked by the service as soon as it is activated.

Regarding the email, I'm doing some checks to understand if other configurations are necessary with GMail. By default, a Report will be launched with the SEED SQL entered, so it should arrive without any action. You could set from All to File so as to verify that the report is generated correctly, this way I can concentrate on doing a specific test on Gmail. Furthermore, you could check the presence of the attempt to send the email in the ReportData table (I expect to find a record that contains Report TxError in the description. Thank you

@dsm-w3f
Copy link
Contributor

dsm-w3f commented Oct 10, 2023

@FedeC87p thank you for the improvements and fixes. I was able to check almost all deliverables. Just one doubt in one deliverable. Please see the evaluation document and provide proper answers and fixes. Let me know when I can continue this evaluation.

@FedeC87p
Copy link
Contributor Author

Yes, all records in Pending, Pool and Triage are temporary data needed to complete the transaction, they will be removed (fields Completed=1 indicates that the date can be removed). While in the TransactionRegistries table they will always be present.

@dsm-w3f
Copy link
Contributor

dsm-w3f commented Oct 11, 2023

@FedeC87p thank you for the answer. I think there is no problem to clean the data only in the startup, just remember to restart the software with a certain periodicity. The milestone is approved. Please submit your invoice using the link in the message below. After that, the payment should take place within two weeks. Great job!

@dsm-w3f dsm-w3f merged commit 2c78f7a into w3f:master Oct 11, 2023
6 checks passed
@github-actions
Copy link

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

@FedeC87p
Copy link
Contributor Author

Thanks for the review.

Yes, in reality the cleaning service is a HostedService (what in C# can be seen as a background job), which checks every hour if there are elements to clean, then is launched at the startup and then every hour.

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.

2 participants