Skip to content

Simplicity-Block/simplicity_ide

Repository files navigation

Simplicity IDE

A cross-platform Smart Contract IDE built with Flutter. Simplicity IDE provides a clean, intuitive interface for developing, testing, and deploying smart contracts.

Overview

Simplicity IDE is a development environment specifically designed for smart contract development. It features syntax highlighting, code completion, and tools for interacting with blockchain networks.

Smart Contract IDE

Features

  • Code editor with syntax highlighting for multiple languages (Dart, Python)
  • Dark theme for reduced eye strain during long coding sessions
  • Support for smart contract deployment
  • Private key management for blockchain interactions
  • Cross-platform support (iOS, Android, Windows, macOS, Linux, Web)

Getting Started

Prerequisites

  • Flutter (latest stable version)
  • For platform-specific development:
    • Android: Android Studio with SDK
    • iOS/macOS: Xcode and CocoaPods
    • Windows: Visual Studio with C++ desktop development workload
    • Linux: Required development libraries (see Flutter documentation)

Installation

  1. Clone this repository:
git clone https://github.com/yourusername/simplicity_ide.git
cd simplicity_ide
  1. Install dependencies:
flutter pub get
  1. Run the application:
flutter run

Building for Production

Android

flutter build apk --release

iOS

flutter build ios --release

macOS

flutter build macos --release

Windows

flutter build windows --release

Linux

flutter build linux --release

Web

flutter build web --release

Firebase Integration

This project uses Firebase with the project name "simplicity-ide". To configure Firebase:

  1. Install Firebase CLI:
npm install -g firebase-tools
  1. Login to Firebase:
firebase login
  1. Initialize Firebase in your project (if not already done):
firebase init
  1. Deploy to Firebase:
firebase deploy

Project Structure

lib/               # Dart source code
├── main.dart      # Application entry point
android/           # Android-specific code
ios/               # iOS-specific code
macos/             # macOS-specific code
windows/           # Windows-specific code
linux/             # Linux-specific code
web/               # Web-specific code

Dependencies

For a complete list, see the pubspec.yaml file.

Development Notes

Line Endings

This project has configured Git to normalize line endings to Windows-style (CRLF) when committing changes. This helps maintain consistency across different operating systems.

If you're contributing to this project, you may want to configure Git to properly handle line endings:

For Windows users:

git config --global core.autocrlf true

For Linux/macOS users:

git config --global core.autocrlf input

This configuration ensures that line endings are consistent in the repository regardless of which operating system contributors are using.

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Your Name - @yourtwitter - [email protected]

Project Link: https://github.com/affanshaikhsurab/simplicity_ide

Acknowledgements