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
|
![](https://light.wownero.com/wowlight.png)
|
||||||
- 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
|
|
||||||
```
|
|
||||||
|
|
||||||
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:
|
- Electron/Vue.js
|
||||||
|
- Remote node only
|
||||||
```
|
- 100% WOW
|
||||||
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
|
|
||||||
|
|
||||||
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
|
### 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