A specialized cryptocurrency wallet built to interact with the Namecoin blockchain and connect users through a Twitter-like social network using the Nostr protocol.
About
The Nymble World app is available for both Android & iOS and features a native Namecoin wallet with the ability to manage Namecoin domains. It also contains a comprehensive social networking platform powered by the Nostr protocol and includes some special features for connecting Namecoin domains to the Nostr protocol.
Project Objective:
Project Objective:
The main objective of this project was to build a robust Namecoin wallet that had the ability to send and receive Namecoin currency, register, renew, transfer, and configure Namecoin domains, and have the ability to tie Namecoin domains to your social networking profile used on the Nostr protocol through the apps built-in Twitter-like social network features.
Conceptualization:
- Product branding and marketing support
- Creation of wireframes, mock-ups, and proof of concepts
- Agile project management and client planning sessions
- Architecture design and refinement
- Extensive product research and development
- Continuous integration
Technologies Used:
- Go Language
- REST API Server
- WebSockets
- Dart Language
- Flutter Framework
- Android Studio
- XCode
- GitHub
- GitHub Actions
- BLoC library
- Jira task management
- FastLane product deployment
Features:
- Send and receive Namecoin currency
- Register, transfer, renew, and configure Namecoin Domains
- Create and manage multiple Namecoin wallets
- Tie any Namecoin domains to your Nostr profile
- Send and receive encrypted private messaging
- Post, repost, like, and share posts across multiple Nostr relays
- Manage and connect to multiple Nostr relays
- Upload and edit the profile and banner images saved to your Nostr profile
- Backup and restore Nostr profiles from the app or other Nostr clients
- Backup and restore Namecoin wallets from other devices via private key
- Log out or delete account details and wipe data from the device
- Block, unblock and report other users across multiple Nostr relays
- Search for users, content, or posts across multiple Nostr relays
- Verify your ownership of a Nostr profile via traditional NIP-05 methods
- Verify your ownership of a Nostr profile via our specialized Namecoin domain method
Functions:
- Functions as a fully-native Namecoin wallet with fee calculation, status tracking, the ability to view transactions directly on a third-party explorer, and the ability to restore old wallets from other devices.
- Gives Namecoin users the ability to easily manage and maintain all of their existing Namecoin domains in one app.
- Updates the user with local notifications to help them keep track of their various social networking activities.
- Allow users to easily connect with each other via a fully encrypted private messaging system accessed through each user’s profile page.
- Give the user control over what relays they are connected to, what users they want to receive content from, and the ability to report malicious activity.
Project Challenges:
- Tight deadline for completion of the application.
- Required heavy amounts of research and development to accomplish project goals.
- The required application had to support both Android and iOS and eventually desktop computer operating systems like Windows, MacOS, and Linux.
- The wallet side of the application had to be well-tested and secure as it deals with people’s money.
- The social network side of the app had to be well-tested and designed to be easy to use and include enjoyable usability.
- The application required a complex UI with detailed screens and simple-to-understand user interfaces.
Solutions we developed:
- With the tight deadline, we were able to make quick decisions based on our experience in the past to efficiently develop a robust blockchain wallet with all the social networking features required.
- As this project utilizes an older fork of the original Bitcoin blockchain, some amount of research and development was required to test theories and flesh out the final design of the solution.
- Since the client required an application that would be available as a mobile application, desktop app, and possibly more down the road, we decided to use a powerful framework called Flutter to develop the app once in one language and then export the app to various targets later on.
- This was not our first time developing a Blockchain wallet for a client. Using the experience we have gained in the past and combined with the research and development performed early on, our team was able to develop a fully functional, secure, and stable native Namecoin wallet.
- At the time of developing this application, the Nostr protocol was very experimental and had little support in the Flutter world, so we compensated by building our own widgets, plugins, packages and logic to accomplish the goal at hand.
- Thanks to the efforts of our amazing design team in collaboration with the client and stakeholders on the project, we were able to design and iterate over screens, features and user stories that helped us produce the building blocks for developing a powerful and easy-to-use application.