Skip to content

Multi-platform and multi-node GUI for Vcash.

License

Notifications You must be signed in to change notification settings

whphhg/vcash-electron

Repository files navigation

Vcash Electron GUI

Chat TravisCI Release AUR Prettier Standard

Multi-platform and multi-node GUI for Vcash. You can find the latest release here.

Screenshots

Disclaimer: I (@whphhg) am the creator of this GUI, but not of Vcash itself. I've been learning about Bitcoin for a short period of time when I found this coin with a mixed PoW and PoS consensus that had the ability to spend the coins a few seconds after receiving them. However, there was no GUI for Linux, so I've started to learn about Node.js and created my first GUI using Express.js and Socket.io. Since then I've learned about Electron, React, Redux, MobX and created this GUI, with the goal of making it as simple, clean and intuitive as I could.

During this time the creator of the coin @john-connor left and deleted the website, forums and git repository. Shortly after, @xCoreDev decided to keep the community together and provided a website snapshot and forum hosting along with c++ improvements, and @bettertimes handled the BitcoinTalk and Twitter account.

I couldn't have predicted that it would get abandoned, which is why I haven't tweeted or otherwise talked about the GUI. I can live with it never seeing the light of day, even if it is one of my biggest accomplishments so far. However, I would never forgive myself if anyone else bought coins based on the GUI alone and got burned in the end because of the coin and it's history.

I'm not saying that the coin doesn't work, but I've decided to add this disclaimer because I'm not a c++ programmer and am unable to verify how it works on my own to give you a definite conclusion. Please do your due diligence.

Table of Contents


Install from source

Make sure you have installed git and the latest version of Node.js, then clone this repository, move to the cloned directory and install Node.js dependencies.

git clone https://github.com/openvcash/vcash-electron.git
cd vcash-electron/
npm install

After the installation is completed, transform the source code using npm run babel or npm run babel-watch to keep auto-transforming on any changes to the files in the src/ directory.

npm run babel (transform once)
npm run babel-watch (auto-transform on changes to src/)

You can now run the GUI using npm start, or if you want to use development tools, using npm run dev or using npm run dev-win on Windows.

npm start
npm run dev (Linux and macOS)
npm run dev-win (Windows)

Build and package for Linux, macOS and Windows

Download the latest daemon for your platform to the build/bin/ directory and rename it to vcashd-ia32 or vcashd-x64, depending on the arch. The build/bin/ directory gets bundled with the GUI when you run any of the npm run build-* scripts and is checked on startup by daemon.js which launches the daemon if it matches the correct platform and arch.

Packages are created according to the .buildrc config and highlighted scripts options in package.json, about which you can read more here.

Run the commands below to install npm dependencies, remove extraneous npm packages and transform the source code to lib/ directory using Babel.

npm install && npm prune && npm run babel

You can now create and save packages into the dist/ directory by running the scripts (for your platform) from the table below.

Script Description
build-linux Create 64-bit .deb and .zip packages
build-macos Create a 64-bit .dmg package
build-win-nsis Create a Windows NSIS installer for both architectures
build-win-ia32 Create a 32-bit Windows portable executable
build-win-x64 Create a 64-bit Windows portable executable
npm run <script>

Note: build-win-nsis script requires both vcashd-ia32.exe and vcashd-x64.exe in the build/bin/ directory.

Contributing

Thank you for taking the time to help and improve the GUI! Please read the contributing guide.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.