obyte-gui-wallet

by byteball

Smart payments made simple

427 Stars 169 Forks Last release: 20 days ago (v3.3.1) MIT License 1.9K Commits 67 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Obyte is a wallet for storage and transfer of decentralized value. See obyte.org.

Binary Downloads

Obyte.org

Main Features

TBD

Installation

Download and install NW.js v0.14.7 LTS and Node.js v5.12.0. These versions are recommended for easiest install but newer versions will work too. If you already have another version of Node.js installed, you can use NVM to keep both.

Clone the source:

git clone https://github.com/byteball/obyte-gui-wallet.git
cd obyte-gui-wallet

If you are building for testnet, switch to testnet branch:

sh
git checkout testnet

Install bower and grunt if you haven't already:

npm install -g bower
npm install -g grunt-cli

Build Obyte:

bower install
npm install # on macOS: env CXXFLAGS="-mmacosx-version-min=10.9" LDFLAGS="-mmacosx-version-min=10.9" npm install
grunt

If you are on Windows or using NW.js and Node.js versions other than recommended, see NW.js instructions about building native modules.

After first run, you'll likely encounter runtime error complaining about nodesqlite3.node not being found, copy the file from the neighboring directory to where the program tries to find it, and run again (e.g. from `obyte-gui-wallet/nodemodules/sqlite3/lib/binding/node-v47-darwin-x64

to
obyte-gui-wallet/nodemodules/sqlite3/lib/binding/node-webkit-v0.14.7-darwin-x64`). If that didn't work, copy nodesqlite3.node from node_modules folder, which is got installed with installer file from obyte.org website.

Then run Obyte desktop client:

/path/to/your/nwjs/nwjs .

If you have run

grunt desktop
then there is 0.14.7 NW.js also installed in cache folder.

Build Obyte App Bundles

All app bundles will be placed at

../obytebuilds
dir, so create it first:
mkdir -p ../obytebuilds
. You need newer version of Node.js (latest should work) to assemble Android & iOS bundles, so use NVM to manage your Node.js installations (to keep v5.12 for NW.js and latest one for mobile platforms). Remember to switch to newer Node.js version (
nvm use 8
) before installing any software from the instructions below.

Android

  • Install jdk1.8 (9 and higher won't work)
  • Install Android SDK (from Android Studio)
  • Install Cordova
    npm install cordova -g
  • Install Gradle (macOS:
    brew install gradle
    )
  • Run
    make android-debug

iOS

  • Install Xcode
  • Install Cordova
    npm install cordova -g
  • Install ios-deploy
    npm install -g ios-deploy
  • Install CocoaPods
    brew install cocoapods
    , then
    pod setup
  • Run
    make ios-debug
    • In case of
      DeviceSupport
      missing error, run
      cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ && sudo ln -s 10.3.1\ \(14E8301\)/ 10.3
    • If you encounter 'bitcore' not found after app launch, install it
      npm install bitcore-lib
      , then rerun make again.
    • On code signing error, open Xcode project
      ../obytebuilds/project-IOS/platforms/ios
      in Xcode, open project properties, select Obyte target and set your AppleID account as a team. Xcode may also ask you to change bundle identifier to be unique, just append any random string to 'org.byteball.wallet' bundle identifier.
    • Never open Xcode project using .xcodeproj file, just open the directory
      ../obytebuilds/project-IOS/platforms/ios
      in Xcode instead

macOS

  • grunt desktop
  • copy
    node_modules
    into the app bundle ../obytebuilds/Obyte/osx64/Obyte.app/Contents/Resources/app.nw, except those that are important only for development (karma, grunt, jasmine)
  • grunt dmg

Windows

  • grunt desktop
  • copy
    node_modules
    into the app bundle ../obytebuilds/Obyte/win64, except those that are important only for development (karma, grunt, jasmine)
  • grunt inno64

Linux

  • grunt desktop
  • copy
    node_modules
    into the app bundle ../obytebuilds/Obyte/linux64, except those that are important only for development (karma, grunt, jasmine)
  • grunt linux64

About Obyte

TBD

Obyte Backups and Recovery

Obyte uses a single extended private key for all wallets, BIP44 is used for wallet address derivation. There is a BIP39 mnemonic for backing up the wallet key, but it is not enough. Private payments and co-signers of multisig wallets are stored only in the app's data directory, which you have to back up manually:

  • macOS:
    ~/Library/Application Support/byteball
  • Linux:
    ~/.config/byteball
  • Windows:
    %LOCALAPPDATA%\byteball

Create an AppImage

The application and the libraries it requires can be bundled into a one-file executable called AppImage. It should run on most Linux distribution without any additional package installation. There is a script that handles the whole image creation process, the following procedure has been tested on Ubuntu 16.04.

Install Node.JS version >= 8 preferably using NVM

Install tools:

sudo apt-get install build-essential python desktop-file-utils libglib2.0-bin

Clone the source:

git clone https://github.com/byteball/obyte-gui-wallet.git
cd obyte-gui-wallet

If you are building for testnet, switch to testnet branch:

sh
git checkout testnet

Install bower, grunt, node-gyp and nw-gyp if you haven't already:

npm install -g bower
npm install -g grunt-cli
npm install -g nw-gyp
npm install -g node-gyp

Go to appimage directory and execute the script:

cd appimage
bash appimage.sh

When completed, you will find the appimage in

../obytebuilds

Obyte appimage can be launched from any directory, ensure to make it executable then launch it:

chmod a+x obyte-x86_64.AppImage
./obyte-x86_64.AppImage

By default the app is built using 0.35.5 NW.js to support latest Linux distributions, you can set the environment variable NWVERSION to build using another NW.js version. ```sh NWVERSION=0.23.7 bash appimage.sh ```

Translations

Obyte uses standard gettext PO files for translations and Crowdin as the front-end tool for translators. To join our team of translators, please create an account at Crowdin and translate the Obyte documentation and application text into your native language.

To download and build using the latest translations from Crowdin, please use the following commands:

cd i18n
node crowdin_download.js

This will download all partial and complete language translations while also cleaning out any untranslated ones.

Support

Credits

The GUI is based on Copay, the most beautiful and easy to use Bitcoin wallet.

License

MIT.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.