A blockchain-powered social blogging app built with React Native for iOS and Android devices.
Ecency Mobile is a decentralized social blogging platform that empowers users to create, engage, and earn on the Hive blockchain. Experience Web3-style content creation and community building in a secure, open-source environment.
- Write articles, blogs, and posts with rich formatting
- Share ideas, stories, and media freely
- Publish and host your content for free
- Earn real cryptocurrency for content creation
- Get rewarded for upvoting and curating content
- Convert earnings into goods, services, or transfer to others
- Discover and join communities around specific interests
- Connect with like-minded creators
- Participate in topic-based discussions
- Like, comment, and curate content
- Boost posts for better exposure and engagement
- Contribute to content visibility through community actions
- Private keys stored locally on your device
- No server access to your funds or keys
- PIN protection for additional security
- Customize your profile
- Bookmark favorite content
- Receive notifications about community activities
π True Decentralization Built on the Hive blockchain - no central authority controls your data or content. You own your account, posts, and communities.
π Incentivized Engagement Unlike traditional social apps, Ecency rewards creators and curators with cryptocurrency for meaningful participation.
π Open Source & Web3 Part of the broader Hive ecosystem with Web3 interoperability and community-driven development.
- Node.js >= 18
- npm or Yarn package manager
- Xcode (for iOS development)
- Android SDK (for Android development)
git clone https://github.com/Musaid1234/ecency-mobile.git
cd ecency-mobile
npm installnpm startnpm run ios-
Setup Firebase:
- Create a Firebase project
- Add an Android app with package name
app.esteem.mobile.android - Download
google-services.jsonand place it inandroid/app/
-
Start the app:
npm run android
Note: Installing dependencies automatically runs the Gradle patch script required by React Native 0.79. If you encounter Gradle errors after updating dependencies, run bash patch-gradle.sh to reapply the patch.
βββ src/ # Application source code
β βββ components/ # Reusable UI components
β βββ screens/ # App screens
β βββ navigation/ # Navigation configuration
β βββ redux/ # State management
βββ android/ # Native Android project
βββ ios/ # Native iOS project
βββ resources/ # Static assets
βββ __tests__/ # Jest tests
βββ patches/ # patch-package files
# Run linter
npm run lint
# Fix linting issues
npm run lint:fix
# Format code
npm run format
# Run tests
npm test
# Clear cache and restart
npm run clearReactotron Integration:
- Install Reactotron desktop app
- For Android:
adb reverse tcp:9090 tcp:9090then restart the app - iOS connects automatically
Android Release:
npm run bundle:android
cd android
./gradlew assembleReleaseiOS Release:
npm run bundle:ios
# Then open ios/ecency.xcworkspace in Xcode and archiveCreate a .env file in the project root:
NODE_ENV=development
# Add other environment variables as neededWe welcome contributions from the community! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linting
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
Security issues should be reported privately. Please contact the maintainers directly for security-related concerns.
This project is licensed under the MIT License - see the LICENSE file for details.
- Framework: React Native 0.79.5
- Language: TypeScript
- State Management: Redux Toolkit
- Navigation: React Navigation
- Blockchain: Hive
- Testing: Jest
- Styling: React Native Extended Stylesheet
If you encounter any issues or have questions:
- Check existing Issues
- Create a new issue with detailed information
- Join the community discussions
Transform your mobile device into a gateway for decentralized, rewarding social blogging with Ecency Mobile.