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!