I’m interested in doing a web (app) client for uCoin. That’s it.
I think is interesting because:
It would be easy to access (no installation needed).
It would work on any OS (desktop & mobile & others).
It would avoid the typical difficulty of development and deployment of the current Linux ecosystem (fragmentation).
It could be able to attract more contributors (it seems like everyone nowadays knows a bit about web development - myself included ).
It could be possible to share some (server) code with uCoin (Node.js).
It would be easy to “export” to specific OSes/environments (like NW.js/Electron - for desktop in general -, or Android’s WebView , or GNOME’s GJS, etc).
Also, I want to share general interface efforts with CuteCoin (and others), if they want it too.
Good idea
One question : would it be hosted on some server ? If so, beware of security problem, the private key should not be uploaded to another server. But it should not be too hard to do : just sign documents in the browser and send them to the server.
You just need to check if scrypt can be used locally in the browser, or if we need an extension I think that is how encrypted webmails are doing the job.
Anyway, go on, it’s a great idea. We should be able to help if you have any technical issue
A webapp for tablets/smartphones written with Ionic.js. This app can easily be packaged with Cordova to build native apps that can be installed through Stores (AppStore, Google Play, …).
This is a pure HTML/CSS/JS app. You can use it in a browser too. It is quite responsive
I planned to use js-scrypt as key derivation library.
Anyway, these were just 2 prototypes. Maybe I will continue Cesium for my personal learning of Ionic.js framework and phone apps, but I won’t make a webapp that would be available on large screens. And I don’t have the time to develop it right now
Yes yes yes,some knows how happy I am to read your idea.
I’d love to have a ucoin on my FFOS pocketcomputer or even better integrated in my cozycloud (cozy.io) which would solve the problem of
"would it be hosted on some server ? If so, beware of security problem,
the private key should not be uploaded to another server. But it should
not be too hard to do : just sign documents in the browser and send them
to the server."
Diogocampos, if I can help, I’ll try my best. I’ll follow this thread carrefuly and check your repo as soon as you start.
Please understand that we have chosen these parameters’ values randomly, but the fact that both ucoin-cli, cutecoin and ucoinApps share the same parameters’ values makes the generated being the same on each software.
Choosing other values would make impossible to retrieve your personal wallet when switching between softwares.
There is obviously something to propose here to make the key generation process easy for final users.
I don’t get it. Do you mean changing parameters? Changing the underlying model (password+salt)? Creating better UIs? Or something else?
I am a bit lost (both meanings of “am” ). So, for not flooding this here with way more dumb questions, here comes only the critical ones:
Where is the documentation of the API that I can consume from the uCoin nodes? uCoin-Cli (vucoin) can help me with this task? And if I try to do requests to the uCoin nodes directly from the browser (with CORS)? There is some known library that can help me with this?
And if we change the way we generate keys, we need UIs allowing to do so. For example, we could imagine that N=4096, r=16, p=1 may be named “Default generation”. We could imagine also to have another set named “Strengthen generation” with N=16384, r=32, p=1. And why not a “Manual generation” where the user can choose manually its parameters.
Doing so might help other softwares to adopt the same namings and ease the comprehension of users.
yes ucoin-cli can help you, but not in a browser (so can it help you?). It is basically a Node.js module (vucoin) to interact with other nodes through their HTTP API, but it also does high level interactions available in command-line (like sending a transaction, certifying someone). So unfortunately it has dependencies on modules that will not work in a browser (request.js, scrypt, naclb, …).
it defines DTO contracts, such as you can trust the answer you will receive matches the data structure you expect (in case the node you request answers weird data structure for some reason (bug or anything)), preventing big JS crashes
About CORS, it is already implemented in uCoin. I think only one node does not have the feature, but it is to be shut down in the coming months.
js-scrypt needs the input to be in Uint8Array. This is the reason for encode_utf8.
But I also tried to generate the public key directly on Node.js, using scriptsy (that receives a string), and I got the same wrong public key (code here).
So, I think I am misunderstanding something really basic (sorry about that).
This says something about “Ed25519”. But I don’t understand how this is related to the public key generation…
There is some resource about “public keys in uCoin” that I could/should read?