parent
129e335035
commit
94e1db3a4e
@ -0,0 +1,40 @@
|
||||
## Compile
|
||||
|
||||
Requirements:
|
||||
|
||||
- Node v8
|
||||
- Latest Wownero (CLI) + `git apply light_diff.patch`
|
||||
|
||||
#### Electron
|
||||
|
||||
``` bash
|
||||
# install dependencies
|
||||
npm install
|
||||
|
||||
# serve with hot reload at localhost:9080
|
||||
npm run dev
|
||||
```
|
||||
|
||||
If `npm run dev` works, you can install a custom version of `wownero-wallet-cli`
|
||||
|
||||
#### wownero-wallet-cli :star2:
|
||||
|
||||
```
|
||||
git clone https://github.com/wownero/wownero.git
|
||||
cd wownero
|
||||
git checkout <latest version here>
|
||||
git apply light_patch.diff
|
||||
make -j4
|
||||
```
|
||||
|
||||
Use `light_patch.diff` that's included in this repository. Move resulting binary into the resources folder:
|
||||
|
||||
```
|
||||
cp build/release/bin/wownero-wallet-cli wowlight/resources/linux/bin/wowlight
|
||||
```
|
||||
|
||||
Build the light wallet:
|
||||
|
||||
```
|
||||
npm run build
|
||||
```
|
@ -0,0 +1,10 @@
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
Version 2, December 2004
|
||||
|
||||
Copyright (C) 2018 Wownero Inc., a Monero Enterprise Alliance partner company
|
||||
|
||||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. You just DO WHAT THE FUCK YOU WANT TO.
|
@ -1,69 +1,17 @@
|
||||
# Wownero Light Wallet :computer: :two_hearts: :ok_hand:
|
||||
# wowlight
|
||||
|
||||
An experimental crypto wallet for Wownero. Possibly the worst ever made. 100% WOW.
|
||||
|
||||
- Electron/Vue.js
|
||||
- Remote node only
|
||||
- Linux/Windows/OSX
|
||||
- Integration with [WFS](https://funding.wownero.com)
|
||||
- USD/WOW conversion
|
||||
|
||||
## Compile :two_men_holding_hands:
|
||||
|
||||
Requirements:
|
||||
|
||||
- Node v8 :-1:
|
||||
- Wownero on tag `v0.3.1.1` :fire:
|
||||
- A patch to the above git tag :sunglasses:
|
||||
|
||||
#### Electron :sob:
|
||||
|
||||
Clone this repo and install npm packages:
|
||||
|
||||
``` bash
|
||||
# install dependencies
|
||||
npm install
|
||||
|
||||
# serve with hot reload at localhost:9080
|
||||
npm run dev
|
||||
|
||||
# build electron application for production
|
||||
npm run build
|
||||
```
|
||||
![](https://light.wownero.com/wowlight.png)
|
||||
|
||||
If `npm run dev` works, you can install a custom version of `wownero-wallet-cli` :alien:
|
||||
Wownero wallet full of questionable development practices.
|
||||
|
||||
#### wownero-wallet-cli :star2:
|
||||
|
||||
```
|
||||
git clone https://github.com/wownero/wownero.git
|
||||
cd wownero
|
||||
git checkout tags/v0.3.1.1
|
||||
git apply light_patch.diff
|
||||
make -j4
|
||||
```
|
||||
|
||||
Use `light_patch.diff` that's included in this repository. :two_women_holding_hands:
|
||||
|
||||
If it compiled successfully; you can move the binary into the resources folder:
|
||||
|
||||
```
|
||||
cp build/release/bin/wownero-wallet-cli wowlight/resources/linux/bin/wowlight
|
||||
```
|
||||
|
||||
Build the light wallet:
|
||||
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
Resulting build will go into `build/`
|
||||
|
||||
### Technical
|
||||
- Electron/Vue.js
|
||||
- Remote node only
|
||||
- 100% WOW
|
||||
|
||||
This GUI is a wrapper for a custom `wownero-wallet-cli`. `stdout` is parsed with Regex. What can go wrong :scream: ?
|
||||
Download: [https://light.wownero.com](https://light.wownero.com)
|
||||
|
||||
The code base is one big spaghetti. 100% WOW.
|
||||
See `Install.md` for compilation instructions.
|
||||
|
||||
### License
|
||||
|
||||
|
@ -0,0 +1,75 @@
|
||||
const fs = require('fs');
|
||||
|
||||
|
||||
export class Config {
|
||||
constructor(wowdir) {
|
||||
this._path_cfg = `${wowdir}/wowlight.json`;
|
||||
this.create();
|
||||
this.data = this.load();
|
||||
}
|
||||
|
||||
load(){
|
||||
if (!fs.existsSync(this._path_cfg)) {
|
||||
console.log('no file yo');
|
||||
return {};
|
||||
}
|
||||
|
||||
let contents = fs.readFileSync(this._path_cfg, 'utf8');
|
||||
return JSON.parse(contents);
|
||||
}
|
||||
|
||||
create(){
|
||||
if (fs.existsSync(this._path_cfg)) {
|
||||
return;
|
||||
}
|
||||
|
||||
let data = JSON.stringify({
|
||||
"node": "node.wowne.ro:34568",
|
||||
"nodes": [
|
||||
{"address": "node.wowne.ro:34568", "location": "New Jersey, United States", "region": "US"},
|
||||
{"address": "node.pwned.systems:34568", "location": "Amsterdam, The Netherlands", "region": "EU"},
|
||||
{"address": "node.wownero.com:34568", "location": "Montreal, Canada", "region": "US"},
|
||||
{"address": "localhost:34568", 'location': "", "region": "*"}
|
||||
],
|
||||
"wallet_path": ""
|
||||
});
|
||||
|
||||
fs.writeFileSync(this._path_cfg, JSON.stringify(data));
|
||||
console.log(`${this._path_cfg} written`);
|
||||
}
|
||||
|
||||
save(){
|
||||
fs.writeFileSync(this._path_cfg, JSON.stringify(this.data, null, 4));
|
||||
console.log(`${this._path_cfg} written`);
|
||||
}
|
||||
|
||||
selectNode(node){
|
||||
if (typeof this.data === 'string' || this.data instanceof String){
|
||||
this.data = JSON.parse(this.data);
|
||||
}
|
||||
|
||||
node = node.trim();
|
||||
if(node === ''){
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('NEW NODE: ' + node);
|
||||
this.data.node = node;
|
||||
this.save();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
saveLastWalletPath(path){
|
||||
if (typeof this.data === 'string' || this.data instanceof String){
|
||||
this.data = JSON.parse(this.data);
|
||||
}
|
||||
|
||||
if(path === ''){
|
||||
return;
|
||||
}
|
||||
|
||||
this.data.wallet_path = path;
|
||||
this.save();
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,88 @@
|
||||
'use strict';
|
||||
|
||||
export const messages = [
|
||||
"This could take a while. Or not. Who knows? It might even give you an error!",
|
||||
"Two days from now, tomorrow will be yesterday.",
|
||||
"You will soon have an out of money experience.",
|
||||
"Two can live as cheaply as one, for half as long.",
|
||||
"Hard work pay off in future. Laziness pay off now.",
|
||||
"The crypto apocalypse is near, might as well have dessert.",
|
||||
"This coin is no good. Try another.",
|
||||
"Of all the shitcoins, you picked WOW. Congratulations!",
|
||||
"WOW is going nowhere, but at least the path is interesting.",
|
||||
"Indecision is key to flexibility.",
|
||||
"A day without sunshine is like night.",
|
||||
"The fortune you seek is in another wallet.",
|
||||
"You have kleptomania. Take some WOW for it.",
|
||||
"perl5 is just syntax; CPAN is the language",
|
||||
"This software sucks. Why are you executing random crap from the internet?",
|
||||
"Linux sucks.",
|
||||
"Windows sucks.",
|
||||
"OSX sucks.",
|
||||
"TempleOS ftw.",
|
||||
"Perl sucks.",
|
||||
"garyzeasshole sucks.",
|
||||
'My hobby is \'collecting magic internet money\'.',
|
||||
'Hacking Roger Ver.',
|
||||
'Hacking Statue of liberty.',
|
||||
'Monero is better. You should use it.',
|
||||
'Hacking Area 51.',
|
||||
'Hacking the Illuminati.',
|
||||
'Hacking everyone.',
|
||||
'PRIVMSG garyzeasshole A/S/L?\\r\\n',
|
||||
'Hacking all banks.',
|
||||
'Be your own bank. lol.',
|
||||
'Hacking fluffypony.',
|
||||
'Making WOW great again.',
|
||||
'Ordering Kebab.',
|
||||
'Ordering Pizza.',
|
||||
'SELECT * INTO OUTFILE \'/tmp/kek.dump\' FROM users; DROP TABLE clients; #cunts',
|
||||
'SELECT * FROM users WHERE id = 105 OR 1=1;',
|
||||
'¯\\_(ツ)_/¯',
|
||||
'Shorting MoneroV.',
|
||||
'Losing private keys.',
|
||||
'Shorting Verge.',
|
||||
'Boating accidents.',
|
||||
'Forking Wownero.',
|
||||
'Stealing wowbux funds.',
|
||||
'Spamming bitcointalk.org.',
|
||||
'Shilling wownero on reddit.',
|
||||
'Spambot attacking freenode.',
|
||||
'Hacking jwintern.',
|
||||
'Hacking dsc.',
|
||||
'Stealing WFS funds.',
|
||||
'Trolling Perl community.',
|
||||
'Don\'t you dare spending any WOW today.',
|
||||
'No Doubt - Don\'t Speak',
|
||||
'Adding N to (X)',
|
||||
'Running garytheasshole\'s oneliners...',
|
||||
'.seen mattcode',
|
||||
'Checking gap in pond',
|
||||
'Check can withdraw new purse',
|
||||
'Sun is not doing, Allah is doing',
|
||||
'When block?',
|
||||
'When payout?',
|
||||
'When fork?',
|
||||
'ö-pöpoo!',
|
||||
'Dividing integer by 0',
|
||||
'Initiating self-destruct function',
|
||||
'Yo mama so dumb, she thinks XRP is an actual cryptocurrency',
|
||||
'Executing DDoS attack on MoneroV\'s network',
|
||||
'Uploading private keys to FTP, please wait',
|
||||
'Connecting to SETI@home network',
|
||||
'GPS Location Service activated',
|
||||
'Exchanging your WOW for ERC-20 WOW tokens',
|
||||
'Calculating the answer to the great question of life, the universe, and everything',
|
||||
'Background mining initiated... CPU intensity 200%',
|
||||
'Trolling Masari community about their non-premine premine',
|
||||
'Deleting System32 folder',
|
||||
'Downloading BLACKED.Riley.Reid.XXX.SD.MP4',
|
||||
'Forming Voltron!',
|
||||
'Generating Wownero Roadmap...',
|
||||
'Generating Wownero Whitepaper...',
|
||||
'Sending all funds to wownero.win',
|
||||
'Shaving away klubus and grumbo',
|
||||
'Contacting Stealy for more plumbus',
|
||||
'Rebuilding WinoBot!'
|
||||
]
|
||||
|
@ -0,0 +1,76 @@
|
||||
<template>
|
||||
<main class="credits">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div class="row">
|
||||
<div class="col-sm-12" style="margin-bottom:4px;">
|
||||
<h4>Settings</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<p>
|
||||
We started working on this page but got lazy and played videogames instead.
|
||||
</p>
|
||||
<p>
|
||||
If you want customization, download the <a href="https://github.com/wownero/wownero/releases">CLI wallet</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top:8px;">
|
||||
<div class="col-sm-12">
|
||||
<h4>Custom node</h4>
|
||||
<p>
|
||||
Adding your own node is simple; edit the following JSON file:
|
||||
</p>
|
||||
<p>
|
||||
<code>{{pathConfig}}</code>
|
||||
</p>
|
||||
<p>
|
||||
Goodluck!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top:14px;">
|
||||
<div class="col-sm-12">
|
||||
<button v-on:click="back" type="button" class="btn btn-success btn-sm pull-left">
|
||||
Go back
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<wario-settings></wario-settings>
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import WarioSettings from './WarioSettings'
|
||||
|
||||
export default {
|
||||
name: 'Settings',
|
||||
components: {WarioSettings},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
next();
|
||||
},
|
||||
methods: {
|
||||
open(link) {
|
||||
this.$electron.shell.openExternal(link)
|
||||
},
|
||||
back(){
|
||||
this.$router.push({name: 'landing-page'});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
computed: {
|
||||
pathConfig() {
|
||||
const path = require('path');
|
||||
|
||||
return path.join(this.$store.state.wallet_dir, 'wowlight.json');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
@ -0,0 +1,59 @@
|
||||
<template>
|
||||
<div class="wario_seq">
|
||||
<div class="wario_walking_animated">
|
||||
<div class="wario_walking">
|
||||
|
||||
</div>
|
||||
<div class="coin" style="height: 20px;width: 20px;top:0;right:10px;"></div>
|
||||
<div class="coin" style="height: 32px;width: 28px;top:14px;right:38px;-webkit-transform: scaleX(-1);"></div>
|
||||
<div class="coin" style="height: 20px;width: 20px;top:30px;right:22px;"></div>
|
||||
<div class="coin" style="height: 24px;width: 24px;top:54px;right:32px;"></div>
|
||||
</div>
|
||||
|
||||
<div class="perlsux"></div>
|
||||
|
||||
<div class="grass_container">
|
||||
<div class="grass"></div>
|
||||
|
||||
<div class="grassfill">
|
||||
<span class="version">
|
||||
{{version}} - <span style="font-size:12px;">{{version_embedded}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "WarioSettings",
|
||||
data(){
|
||||
return {
|
||||
'electron_version': null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
jQuery('main.credits .perlsux').click((event) => {
|
||||
this.back();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
back(){
|
||||
this.$router.push({name: 'landing-page'});
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
version_embedded(){
|
||||
return this.$store.state.version_embedded;
|
||||
},
|
||||
version(){
|
||||
return this.$store.state.version;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
Reference in new issue