liskarchive / lisk-nano Goto Github PK
View Code? Open in Web Editor NEW๐ฅ Minimal Lisk graphical user interface for desktop
Home Page: https://lisk.io
License: GNU General Public License v3.0
๐ฅ Minimal Lisk graphical user interface for desktop
Home Page: https://lisk.io
License: GNU General Public License v3.0
It would be great to allow unhide passphrase while entering
Possibility to define custom node to broadcast transactions
As of lisk-nano
version 0.2.0
, we are changing the licensing scheme from MIT to to GPLv3.
The main reason for this change is to provide protection against the future use of the Lisk Explorer in a proprietary form, while at the same time maintaining all of the freedoms to use, change or share the project which are currently in-place.
For more information on GPLv3 please read: https://www.gnu.org/licenses/quick-guide-gplv3.html
Tasks:
package.json
README.md
NPM states that electron-prebuilt will be depreciated by the end of 2016 and replaced with the name electron.
_As of version 1.3.1, this package is published to npm under two names: electron and electron-prebuilt. You can currently use either name, but electron is recommended, as the electron-prebuilt name is deprecated, and will only be published until the end of 2016. https://www.npmjs.com/package/electron-prebuilt
#13
I just experienced a possible scenario where the mouse scroll changed the amount I wanted to send. This may cause issues with some users, need a way to disable/enable.
I was using peer node02.lisk.io and after clicking "Send", the transaction stalled for a bit, and ended up giving an error message. After some minutes, the transaction was successfully transmitted to the blockchain.
I'm encountering a number of babel related syntax errors when running npm run dev
.
Scandium:src Oliver$ npm run dev
> [email protected] dev /Users/Oliver/github/LiskHQ/lisk-nano/src
> webpack-dev-server --host 0.0.0.0 --profile --progress
70% 1/1 build moduleshttp://0.0.0.0:8080/
webpack result is served from /
content is served from /Users/Oliver/github/LiskHQ/lisk-nano/src
14688ms build modules
31ms seal
21ms optimize
45ms hashing
2765ms create chunk assets
42ms additional chunk assets
0ms optimize chunk assets
392ms optimize assets
273ms emit
ERROR in ./app/services/success.js
Module build failed: SyntaxError: /Users/Oliver/github/LiskHQ/lisk-nano/src/app/services/success.js: Unexpected token (8:6)
6 | .textContent(text)
7 | .position('bottom right'),
> 8 | );
| ^
9 | },
10 | dialog({ title = 'Success', text, button = 'OK' }) {
11 | return $mdDialog.show(
at Parser.pp.raise (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.pp.unexpected (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/util.js:89:8)
at Parser.pp.parseExprAtom (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:522:12)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:277:19)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
at Parser.pp.parseExprListItem (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:1046:16)
at Parser.pp.parseCallExpressionArguments (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:353:20)
at Parser.pp.parseSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:316:31)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:287:15)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
@ ./app/index.js 47:0-29
ERROR in ./app/services/error.js
Module build failed: SyntaxError: /Users/Oliver/github/LiskHQ/lisk-nano/src/app/services/error.js: Unexpected token (8:6)
6 | .textContent(text)
7 | .position('bottom right'),
> 8 | );
| ^
9 | },
10 | dialog({ title = 'Error', text, button = 'OK' }) {
11 | return $mdDialog.show(
at Parser.pp.raise (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.pp.unexpected (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/util.js:89:8)
at Parser.pp.parseExprAtom (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:522:12)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:277:19)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
at Parser.pp.parseExprListItem (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:1046:16)
at Parser.pp.parseCallExpressionArguments (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:353:20)
at Parser.pp.parseSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:316:31)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:287:15)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
@ ./app/index.js 49:0-27
ERROR in ./app/components/send/send.js
Module build failed: SyntaxError: /Users/Oliver/github/LiskHQ/lisk-nano/src/app/components/send/send.js: Unexpected token (82:10)
80 | this.recipient.value,
81 | this.amount.raw,
> 82 | )
| ^
83 | .then(
84 | () => this.success.dialog({ text: `${this.amount.value} sent to ${this.recipient.value}` })
85 | .then(() => {
at Parser.pp.raise (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.pp.unexpected (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/util.js:89:8)
at Parser.pp.parseExprAtom (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:522:12)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:277:19)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
at Parser.pp.parseExprListItem (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:1046:16)
at Parser.pp.parseCallExpressionArguments (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:353:20)
at Parser.pp.parseSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:316:31)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:287:15)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
@ ./app/index.js 35:0-33
ERROR in ./app/services/peers/peer.js
Module build failed: SyntaxError: /Users/Oliver/github/LiskHQ/lisk-nano/src/app/services/peers/peer.js: Unexpected token (125:8)
123 | passphrase,
124 | secondPassphrase,
> 125 | );
| ^
126 | } catch (e) {
127 | return $q.reject();
128 | }
at Parser.pp.raise (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.pp.unexpected (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/util.js:89:8)
at Parser.pp.parseExprAtom (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:522:12)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:277:19)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
at Parser.pp.parseExprListItem (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:1046:16)
at Parser.pp.parseCallExpressionArguments (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:353:20)
at Parser.pp.parseSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:316:31)
at Parser.pp.parseExprSubscripts (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:287:15)
at Parser.pp.parseMaybeUnary (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:165:19)
at Parser.pp.parseMaybeAssign (/Users/Oliver/github/LiskHQ/lisk-nano/src/node_modules/babylon/lib/parser/expression.js:128:19)
@ ./app/services/peers/peers.js 9:0-17
Child html-webpack-plugin for "index.html":
webpack: bundle is now VALID.
Jade has been renamed:
https://github.com/pugjs/pug#rename-from-jade
we should use the current thing.
Such feature is needed very much, can be useful for a lot of things and projects.
Output should be standardized, for example:
-----BEGIN LISK SIGNED MESSAGE-----
<message>
-----BEGIN SIGNATURE-----
<address>
<signature>
-----END LISK SIGNED MESSAGE-----
Some reference: https://bitcointalk.org/index.php?topic=990345.0
Lisk Nano currently supports signing of transactions using a second passphrase, but does not yet support registrations of said passphrases. We should add it.
Currently only unit tests are executed. Eslint should be included for static code analysis.
https://github.com/LiskHQ/lisk-nano/blob/development/src/package.json#L8
Lisk Nano may also contain simple interface to vote on delegates, with easy search engine. User provide delegate name, and if found can vote from Lisk Nano.
Add support for accounts to view and manage their delegate votes with the following key features.
Add forging center for registered delegates to view:
My proposition is to remove "Load More" button with loading indicator when user is scrolling down to simply allow scrolling down executing loading more transactions - it would feel more like modern software design.
It's related to #15 , after generation when UI is still selected, then generation of passphrase works weird and bugged way. It would be appropriate to remove selection while any button is clicked or/and when mouse movement event occurs.
Now it takes about 15 seconds, which is totally unusable for unit tests
We should look to integrate our end-to-end tests into each travis build.
Using: https://saucelabs.com/open-source
More information here: https://docs.travis-ci.com/user/gui-and-headless-browsers/
Lisk Nano currently does not support registration of new delegates. We should add it.
We should test webpack compiles without error for each travis build, e.g. npm run build
.
It would be great to re-think Lisk-nano interface with possibility to
I cannot login with my 15 words BIP39 passphrase. Login button is disabled.
Preferably using ESLint http://eslint.org/.
Migrating new webpack version according to: https://webpack.js.org/guides/migrating/
Investigate and solve loading time for webpack builds.
Before automatic fixing:
620 errors and 1 warning found.
After automatic fixing:
128 errors and 1 warning found.
Quitting App, actually feels the same as log out. While there is no option to save wallet locally, encrypted with user-chosen regular password there should be at least possibility to store pubkey/address to easily manage through many accounts.
Accounts with a second passphrase enabled are unable to send LSK. We should add support for second passphrases so this is possible.
It would be great to add possibility to:
after making transaction it does not appears in transactions section while it should appear there instantly with status broadcasting -> waiting for confirmation -> confirmed. Instead of not appearing if not confirmed. It feels misleading.
I tried to use https://m.lisk.io from my smartphone (Android).
As there isn't mouse I had to click several times on the screen to generate a new passphrase from the smartphone.
It isn't intuitive to the user.
There should be option to send all funds, for example by clicking on account balance or as separate button.
Enterting passphrase each time is very not convenient. I suggest that each passphrase can be stored locally with AES/DES encrypted format. Each previously added account can be stored within app, then easily accessible by providing custom, likely easier password or no password if user chose to but still encrypted while stored locally - for example by some unique value based on hardware value.
Another good idea is to merge this with trezor, this is idea i have already mentioned in main lisk repository.
To run the test-suite and static code analysis for each pull request or commit.
Using a combination of karma, jasmine. Testing components/controllers, filters, services.
We should use https://istanbul.js.org/ to measure the amount of test coverage.
Integration with Trezor
We should document the lisk-nano
source code using: http://yui.github.io/yuidoc/
New code can be documented immediately: http://yui.github.io/yuidoc/syntax/index.html
Existing code we cover here, module by module.
I think it'll be a great idea to have something like bitcoin :
bitcoin:xxxxxxxxxxxADDRESSxxxxxxxxxxxxxxxxx
to open the wallet ๐
Using protractor
At the moment, it's very difficult to transfer some LSK 1 on 1. If I wanted to send some Lisk to someone who's right in front of me, he would have to create a new account in login.lisk.io or m.lisk.io and provide me his Lisk Address by showing it to me on his phone. I would then type his Lisk Address (manually) into my client and send him some Lisk.
What I suggest: QR Code! ๐
On his phone he would be able to create a QR code that linked to his Lisk address. Someone can scan this and it automatically fills in his Lisk address.
On my side/client I would have a built in QR scanner in the client to scan it and input his Lisk address.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.