📩 #2 -
@nearxschool DOJO challenge — Building an Email Box dApp on
@MultiversX
Before diving into the main project, I completed the official crowdfunding smart contract tutorial to get the basics down.
🧠 Summary repo:
github.com/bredacoder/crowdf…
📦 Main project repo:
github.com/bredacoder/email-…
🛠️ What's done so far:
- Rust smart contract to send/receive emails on-chain
- Stores: sender, recipient, subject, preview, timestamp, IPFS hash
- Separate inbox/sent folders per user
- Pagination support
- Emitted events for sent emails
- Configurable size limits for previews & content
🔐 Started adding access control — users can only query their own inboxes.
💡 Design decisions:
- Only previews are on-chain — full content lives on IPFS
- Pagination for scalable inboxes
- Avoiding bloating storage/gas with big payloads
⚠️ Still not 100% sure if I’m following all best practices — open to feedback!
🐛 Classic beginner mistake: used Vec in the contract, later learned memory allocation is not recommended in smart contracts.
📚 Lesson:
docs.multiversx.com/develope…
💬 It hasn't been a smooth ride.
Rust blockchain concepts = a steep learning curve.
Everything feels new, low-level, strict — but I’m learning a ton and loving the challenge.
🧪 Current step: writing smart contract tests using multiversx-sc-scenario.
👉 Next up:
- Frontend with MultiversX wallet auth
- Email UI send form
- Live updates via events
- Exploring encryption storage strategies
🧠 I'm still very new to Rust and smart contracts — just trying to learn by doing, failing, and iterating.
Any feedback, suggestions or contributions are more than welcome! 🙏
If you see something I could improve or rethink, I’d love to hear from you 💬
Leet's goo! 🔥
Just joined the
@nearxschool DOJO challenge — building an Email Box dApp on
@MultiversX!
First time diving into blockchain and I’m so excited to learn by building solo 🙌
Grateful for the community 💜
Will share my progress and learnings here.
Let’s gooo!
#MultiversX #Web3