Dev Release 102
Hey BlockDAG Community,
Today has been an intense and productive day for the team as we rolled out the latest version of the BlockDAG X1 application on TestFlight and other app stores. Here’s a detailed breakdown of the updates and progress made.
1. Resolving the Notification Loader Issue
Issue Overview:
We recently encountered an issue where the application would get stuck on the loader screen when sending notifications. Upon investigation, we discovered that this problem was linked to devices that were not receiving notifications due to their device IDs not being updated.
Fix Implemented:
- Backend API Adjustment: We updated the backend API to ensure that the device ID is updated. This fix guarantees that all devices will now receive notifications as intended.
- Result: Users who previously faced issues with notifications should see this resolved after logging into the updated application version.
2. Key Features in Today’s Release
Primary Focus: Password Functionality
Today's release primarily introduces the long-awaited password functionality, which includes several critical scenarios:
- New User Password Setup:
- Process: New users will now be prompted to create a password during their onboarding.
- Benefit: This adds an extra layer of security right from the start.
- Existing User Password Integration:
- Prompt: Existing users who have not yet set up a password will be prompted to do so after their next login.
- Impact: This ensures that all users, new and old, are protected by a password, enhancing overall account security.
- Forgot Password Flow:
- Feature: A 'Forgot Password' option has been introduced.
- Process: Users can reset their password via OTP verification, ensuring they can regain access securely if they forget their credentials.
3. Deep Linking on Android: Current Challenges
Current Status:
We are experiencing challenges with implementing deep linking on Android due to the complexity of handling multiple redirection scenarios. The domain redirection has been particularly tricky, requiring more in-depth research and development.
Temporary Solution:
- Postponed Feature: Given the challenges, we’ve decided to skip this functionality in today’s release.
- Referral Module: The referral module will continue to operate as before without deep linking.
- Future Update: We aim to roll out a patch within a week to enable deep linking once we've resolved these issues.
4. Store Upload Status
Apple Store:
- Current Situation: The previous version is still under review by the Apple team. We’ve addressed their feedback and submitted a new build for further review.
- Next Steps: We are waiting for approval and will keep the community updated on progress.
Huawei and Amazon Stores:
- Status: The latest build will be uploaded shortly to both the Huawei and Amazon stores. We'll notify you once these are live.
BlockDAG Explorer: Progress on the UTXO Model
Recent Focus:
Our team has successfully resolved the challenges and research tasks, allowing us to continue development on the UTXO model.
Today's Achievement
- Database Schema Design for 'From' Address:
- Schema Overview: The UTXO model requires a robust database schema to manage the "From" addresses efficiently. Each transaction in this model references previous outputs as inputs, necessitating a design that supports quick lookup and efficient storage.
- Relational Design: Typically, this involves a relational schema where a transaction table links to an input table, which then references the output table from prior transactions. This structure ensures that every "From" address can be quickly traced to its source UTXO, enabling accurate transaction histories.
- Optimization: The schema is optimized for both speed and space, ensuring that our explorer remains efficient as the blockchain grows.
Schema Relationships
- Transactions Inputs: Each transaction can have multiple inputs, and each input references an output from a previous transaction. This relationship is crucial for tracking the flow of assets across transactions.
- Transactions Outputs: Similarly, each transaction can generate multiple outputs, which may later be used as inputs in other transactions. The outputs table records all these outputs, whether spent or unspent.
- Outputs UTXOs: The UTXO table is essentially a filtered view of the Outputs table, containing only those outputs that have not yet been spent. This allows the system to quickly identify which outputs are available for use in new transactions.
Optimizing the UTXO Schema
- Indexing: Indexes are applied to critical fields such as tx_id, address, and output_index to speed up queries related to transaction validation, balance checking, and transaction history retrieval.
- Partitioning: Depending on the blockchain size, partitioning the tables based on block_height or tx_id can improve performance by reducing the amount of data scanned during queries.
- Caching: Frequently accessed data, such as the latest UTXOs, can be cached to reduce database load and improve transaction validation speed.
Conclusion
Today's release marks a significant milestone in the ongoing development of the BlockDAG X1 application and BlockDAG Explorer. We've successfully addressed critical issues, including the notification loader problem, and introduced essential features like the new password functionality. While challenges remain, particularly with deep linking on Android, we're committed to continuous improvement and plan to deliver a patch update soon.
On the BlockDAG Explorer front, the progress in designing the UTXO database schema is a crucial step forward. This schema will enable efficient transaction management and accurate tracking of digital assets, laying a strong foundation for the explorer's future capabilities.
We appreciate your continued support and patience as we work towards enhancing the BlockDAG ecosystem. Stay tuned for more updates, and thank you for being part of our journey!