Skip to content

XTRABYTES/XCITE.OLD

Repository files navigation

xcite_update_github

X C I T E

XTRABYTES Consolidated Interactive TErminal

XCITE is the core application utilizing the XTRABYTES Proof-of-Signature blockchain protocol. Built to support modules like a decentralized exchange and a fully-integrated chat protocol. The code-fluid architecture will let any developer use the XTRABYTES API and create their dream project. XCITE is poised to be a top contender in all-in-one decentralized applications.

Our Mission

We aim to deliver a blockchain platform that provides users with superior speed, security, and scalability over present blockchain offerings. We have crafted a unique Proof of Signature consensus algorithm that obtains these benefits in an economical and eco-friendly manner. Our platform’s modular nature will allow users to assume an infinite capacity for growth. And with modularity driving our development pipeline, we will be able to institute enhanced usabilities for programmers and end-users alike. This includes code-agnostic APIs, superior technical support, and best-in-class user interfaces. All to achieve our vision of having users and developers view XTRABYTES as the premier blockchain platform within the cryptocurrency world.

Table of Content

Features

xcite_android_github forthebadge forthebadge

A few of the things you can do with XCITE:

  • Ability to register several user accounts
  • Wallet keys can be saved on your local device or on our servers
  • Retrieve registered user accounts on different devices and platforms
  • Import and export addresses
  • Import private keys onto any supported devices
  • Track and monitor the balance of wallets without the need of private keys
  • Open device applications directly from the XCITE mobile app, such as the phone (call) app, sms/message app and email app
  • Choose from 2 different wallet modes
    • View only mode (no transactions allowed)
    • Active view mode (transactions are allowed)
  • Create and store contact entries such as phone numbers and emails
  • Pinlock code authentication available for added security
  • Receive notification alerts when wallet balance changes
  • Real time market prices
  • 24 hour XBY, XFUEL, BTC and ETH price monitor
  • Mobile platform available for Android and iOS
  • Desktop platform available for Windows, macOS and Linux

Statistics

Some information regarding XCITE and its development:

GitHub contributors GitHub last commit GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests GitHub repo size GitHub code size in bytes GitHub language count GitHub top language

Status:

Website Website

Getting Started

Prerequisites (Windows)

Prerequisites for Windows deployment:

Prerequisites (macOS)

Prerequisites for macOS deployment:


Dependencies

Dependencies are a set of resource files (modules, libraries) used in the creation of the application. Pre-compiled dependencies can be used or they can be compiled, from source, with the correct compiler.
Libraries or modules can include configuration data, documentation, message templates, subroutines, classes, values or type specifications.

Required dependencies for the desktop platform (Windows, macOS, Linux):

Required dependencies for the mobile platform (Android, iOS):

  • The required dependencies are already included and can be found inside the XCITE /dependencies folder. There is no need to compile them.

MinGW (Windows only)

MinGW is recommended when compiling libraries in Windows. You can download the MinGW compiler for Windows here.

  • MinGW provides a complete open source programming toolset for developers working on the Windows platform. It includes a port of the GNU Compiler Collection (GCC), including C, C++ and other compilers.
  • MSYS is an alternative to Microsoft's cmd.exe. It provides a general purpose command line environment, suited for use with MinGW.
  • Complete instructions guide

Compiling (Desktop platforms only)

Compiling converts source code (in our case, the dependency files) to binary or object code (the files needed for the XCITE app build). A compiler is a program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).

Note that the compiling procedures in the macOS and Linux systems are similar to Windows. Use the Windows example as a reference.

Create a folder where you are going to copy the required dependencies, for example, C:\deps.

Boost (Windows example)

  • Open a Windows command prompt line and inside the boost folder type:
    • bootstrap.bat mingw
    • b2 --build-type=complete --with-chrono --with-filesystem --with-program_options -- with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage

Berkeley DB 4.8.30 NC (Windows example)

  • Using the MinGW command prompt window type:
    • cd db-4.8.30.NC/build_unix
    • Still inside the build_unix folder type:
      • ../dist/configure --enable-mingw --enable-cxx --disable-shared --disablereplication
    • Once it finishes aggregating all the necessary files, type:
      • Make

Openssl 1.0.2q

Follow the instructions on how to compile openssl libraries (Windows example).

  • Complete instructions guide

Editing the .pro file

Edit the xcitedesk.pro file to include the correct paths of the compiled dependencies. See the example below:

xcite-pro-file


Install Qt

XCITE development requires the Qt cross-platform framework. If you don't have Qt installed you can download it from here for free.
QT includes Qt Creator, an integrated development environment (IDE). Qt Creator comes with a wide range of integrated tools for both developers and designers.

macOS NOTE: Before installing Qt, you first need to install Xcode.

Our development is currently targeting Qt 5.11.3 and up. When the Qt installer asks which Qt components to install, select the following components and a compiler suitable to your development environment:

  • Qt 5.11.3 -> Qt Charts (Required --> All platforms)
  • Qt 5.11.3 -> MinGW 5.3.0 32 bit (Windows compiler)
  • Developer and Designer Tools -> MinGW 5.3.0 32 bit (Windows compiler)
  • Qt 5.11.3 -> macOS (Mac components --> Desktop)
  • Qt 5.11.3 -> iOS (Mac components --> Mobile)
  • Qt 5.11.3 -> Android ARMv7 (Android physical device components)
  • Qt 5.11.3 -> Android x86 (Android virtual device components)

Windows installer options qt-windows-installation

Once the Qt installation is complete, clone or download the XCITE repository.
Edit the .pro file accordingly and open the xcitedesk.pro (for the desktop platform) or the xcite.pro (for the mobile platform) using Qt Creator.

Project Configuration (Android)

Configuring Java, Android SDK and Android NDK in Qt Creator. And the versions best suited for development.

Java is a widely used programming language, designed to be used in a distributed environment, as is often the case with the Android platform. The Android SDK (software development kit) is a set of development tools used to develop applications for the Android platform. The Android NDK (Native Development Kit) is a companion tool to the Android SDK that lets developers build performance-critical portions of the apps in native code. It provides headers and libraries that allow developers to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++.

Prerequisites for Android deployment:

There is no need to download and install Android Studio (SDK). The Android SDK command tools contain all the necessary files.

In the Qt project, choose the Android kit that corresponds to your target device:

  • Android for ARM if using physical device
  • Android for x86 if using an emulator

In Qt Options --> Devices --> Android, confirm that the prerequisite paths are correct. Once finished, your project configuration should have the following appearance and you should be able to select the necessary kit:

QT options

  • Complete instructions guide

Project Configuration (iOS)

Again, if you have not installed the necessary files, please do so.

Prerequisites for iOS deployment:

You need to select the correct kit for the mobile version in Qt Creator:

  • Qt (xx version) for iOS --> the mobile version

Xcode, developed by Apple, provides a suite of software development tools, similar to the Qt platform, for coding, testing and creating application. While Qt can be used to create macOS and iOS applications, we recommend using Xcode for iOS project builds.
To use Xcode, it is necessary to create a .xcodeproj file to be able to build the iOS XCITE application. Qt will generate the file. Once it is generated, Xcode can use it to make the iOS build.

An Apple ID can be used to obtain the Apple Developer account. The basic privileges of an Apple Developer account are available for free. It will grant access to developer forums, beta updates and the ability to use Xcode to build, deploy and test apps on our own devices.

To generate the .xcodeproj file:

  • Open the xcite.pro in QT
  • Go to Build --> Run qmake

QT qmake

  • Go to your XCITE folder and search for the newly created .xcodeproj file

mac folder

  • Open the .xcodeproj file in Xcode and choose Product --> Build

iOS build

Qt Troubleshooting Advice

QMake is a fundamental part of Qt that serves the function of creating a make file. QMake not installing properly is usually attributed to user error and can be simply solved. If you run into a QMake issue during your Qt installation process follow these troubleshooting tips.

If this issue arises you should first try the following steps before performing a reinstallation of Qt:

  1. Ensure antivirus did not keep QMake from installing during the installation process.

  2. Ensure proper Kit is selected/detected by going to Tools --> Options --> Build & Run --> Kits.

  • If no kit is selected or all kits are errored out, you will need to either manually install a kit or perform a reinstallation
  1. Ensure a compiler is installed by checking Tools --> Options --> Build & Run --> Compilers.
  • If no compiler is installed you will need to either reinstall or manually install MinGW version 5.3.0

Other Qt errors:

  1. Edit the xcitedesk.pro file to include the correct paths of the compiled dependencies.
  • If the paths do not exist or are incorrect, you will get several Qt errors leading to compiling failure
  1. Ensure you have an Apple Developer Account (create one) when compiling the iOS version.

Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found.

  • To avoid the above error message, make sure you have a valid Apple Developer account. In XCODE go to Preferences --> Accounts and enter your account details.

XCITE Desktop Screenshots

xcite-testnet-2-21-18

Testnet Interaction xcite-testnet-2-21-18

XCITE -> Home image

XCITE -> Testnet Interaction (Debug Console)

xcite-console2

XCITE -> Send Coins image

XCITE -> Receive Coins image

XCITE -> Settings image

X-CHANGE -> Home image

X-CHAT -> Home image

XCITE Mobile Screenshots

XCITE Mobile -> Start

XCITE Mobile -> Home

XCITE Mobile -> Transfer

Contributing

If you would like to contribute to XCITE development, please contact us. We would love to hear from you.

Submit any bugs through the project's tracker:

Issues

Frequently Asked Questions

1. Where is the rest of the source code?

Since the Proof of Signature consensus algorithm is still closed-source, this repository does not yet include the complete source code. We understand that the public needs to be able to review the source code and will publish the remaining source code as soon as it's ready.

2. What platforms does XCITE plan to support?

  • Linux Desktop
  • Android devices
  • Apple Desktop (macOS)
  • iPhone/iPad (iOS)
  • Windows desktop

3. Where can I learn more about XTRABYTES?