Progress report(Jun 24, 2017)The last few weeks I switched my attention from the server to the client. I hoped some other developers would join Simcoin and build it, but this hasn't happen so far. So it seems I will have to do it myself.
The idea was to embed a browser into a native app and then use simcoin.dll from Javascript. The original client was written in pure JS/HTML and it proved quite difficult to make, because modern wallets are pretty complicated.
Recently I discovered
Vue.js - a simple yet very powerful framework - it should make building the client much easier.
Vue allows splitting work into small, independent components, and there's already a ton of them. I also started building/outsourcing my own components, you can see some of them here:
https://github.com/NxtChg/piecesI also created
Vuepack: a simple tool that allows you to select any components you need and then save them as a single, minified JS file.
Another breakthrough was realization that there is not much sense in embedding the browser into a native app: JS is very fast and flexible nowadays, so why don't just use the browser already installed in user's OS?
This has several major advantages:
- the client instantly and automatically becomes cross-platform, there is no need to port it anymore
- no need to write a separate web-wallet
- no need for the user to download and install anything
- automatic bug-fixes and auto-update
- automatic cloud backup for user's private keys (encrypted)
- coding in JS instead of C++ is easier
I need to think more about how to handle vaults now, but it's probably solvable. The app should allow the user to save the vault locally at any time as base64 string and prompt him to do so when new private keys are added.
As for the local data - browsers nowadays provide localStorage and IndexDB, which should be enough since our client is not supposed to download the whole transchain.
The key piece of the puzzle, though, is porting all the cryptographic functions to JS. Some were ported before as bounties, some I found on the Internet, and we're currently working to port the most important part - Ed25519 signatures - to JS, and it's about halfway done!
There are also other things going on behind the scenes, which will be announced later. If you don't see me hanging out on the forum or Slack too much, it doesn't mean the work has stopped
----
Another thing: you probably already know about
Simex: a Google Chrome browser extension that makes it easier to follow our exchange and forum.
----
There is a lot of noise and frenzied activity in cryptoland these days: people rush barely working prototypes to the market, hype them, raise huge amounts of money, then either disappear or fail miserably.
If you are a developer who values simplicity and wants to do some
real work, which will last and has the potential to change the world - you are welcome to join!
There's plenty of bounties available or you can start your own Simcoin-related project. There's also lots of opportunities to learn and grow as a programmer.
It sure as hell will take me too long if I have to do everything by myself...