Hello BlockDAG Community,
As we wrap up another productive
week, we want to share a quick recap of our progress and key
updates.
Weekly Recap
Application Testing and
Production Release
We started our week with comprehensive testing of
the BlockDAG X1 application to ensure the latest updates are stable and ready for
production. This rigorous testing was crucial to maintaining the quality and
reliability of our application.
Addressing User Queries on Phone Number
Bans
Several users raised concerns about their phone numbers being
banned. Upon investigation, we identified issues with our phone number validation
service. We revised our validation logic to allow additional categories of phone
numbers, resolving this issue for affected users.
Successful Build
Delivery
By mid-week, we successfully delivered the latest build to
production. Internal and external stakeholders thoroughly tested this build, and
upon receiving their approval, we uploaded it to the Apple, Huawei, and Amazon
stores. The latest APK of the application is also available for our
users.
Blockchain Explorer Phase 2
For the blockchain
explorer, we completed and tested Phase 1, sharing it with stakeholders. We have now
embarked on Phase 2, which will include support for UTXO transactions and smart
contracts.
Let's jump to the latest update for today:
Enhancing User
Authentication
We have received numerous complaints about OTP
(One-Time Password) delivery issues. To prioritize user experience, we are
implementing additional authentication methods, specifically email verification. Our
team has been working diligently on this today, integrating SMTP (Simple Mail
Transfer Protocol) into our Golang codebase and creating email templates for this
purpose.
Pseudo Code for Email Verification
Implementation
Here's an outline of the algorithm we are using to
implement email verification with accompanying pseudo code (Note:
that this is just an example implementation and does not reflect the same method
names):
- User Request: User initiates the registration process or
requests email verification.
function handleUserRequest(user):
verificationLink = generateVerificationLink(user)
sendVerificationEmail(user.email, verificationLink)
- Generate Verification Link: The system generates a unique
verification link containing a token.
function generateVerificationLink(user):
otp = generateUniqueOTP()
storeOtpInDatabase(user.id, otp)
return "https://blockdag-x1.com/verify?otp=" + otp
- Create Email Template: An email template is created, including
the verification link and relevant instructions.
function createEmailTemplate(verificationLink):
return "Hello,\n\nPlease verify your email by clicking the following link:\n" + verificationLink + “\n\nThank you,\nBlockDAG X1 Team”
- SMTP Setup: Configure the SMTP server with the necessary
credentials and settings.
function setupSMTP():
smtpServer = "smtp.example.com"
port = ***
username = "[email protected]"
password = "your-email-password"
return smtpServer, port, username, password
- Send Email: The system sends the verification email to the
user’s email address.
function sendVerificationEmail(to, verificationLink):
smtpServer, port, username, password = setupSMTP()
emailBody = createEmailTemplate(verificationLink)
smtpSend(to, "BlockDAG X1 Email Verification", emailBody, smtpServer, port, username, password)
- User Clicks Verification Link: The user receives the email and clicks on the verification link
- Verify Token: The system verifies the token from the link against the token stored in the
- Update User Status: Upon successful verification, the user’s status is updated in the system to
- Confirmation Notification: A confirmation message is sent to the user, indicating successful email verification.
function sendConfirmationEmail(userId):
user = getUserById(userId)
emailBody = "Hello,\n\nYour email has been successfully
verified.\n\nThank you,\nBlockDAG X1
Team"
smtpSend(user.email, "BlockDAG X1 Email Verification Successful",
emailBody, smtpServer, port,
username, password)
We are committed to continuously improving our user experience and are excited to
roll out these enhancements. Stay tuned for more updates!
Thank you for your
continued support!