Blurt Key Manager Server Client - KeyLess logins & transaction signing

in blurt •  2 months ago 

What does WhaleVault do?

  • Let's first answer this basic question - What does a WhaleVault do?
  • WhaleVault holds your keys.
  • Any dApps built on Blurt, sends request to WhaleVault for login (sign something)
  • Any dApps built on Blurt, sends request to WhaleVault for broadcasting something e.g. Comment, Upvote, fund-transfer etc.

Why do We need Key-Manger-Server-Client?

  • WhaleVault is limited to same system. What if you wish to login to other system without re-importing keys into different desktop?
  • WhaleVault has to be on same browser.
  • What happens to mobile users? How can they login?
  • To answer all of these, we built key-manager-server-client.

KeyLess Clients, Wallet based Approvals

  • Clients / dApps will never hold keys
  • Server will only hold the data which needs to be signed / broadcasted
  • Wallet will only scan, approve & broadcast transactions.
  • With this approach, user can login to any system, using single wallet.
  • User can keep keys on one mobile-device & scan QR codes to approve login & broadcast transactions.
  • With this approach, user can login & logout with ease without moving keys from one desktop to other desktop.

Enough Talk. Give me the damn code

How does a login work?

how does a login work

  • As shown in the screenshot above, dApp will show a text-field where user will enter username & hit login button.
  • dApp will generate a QR code & show it to user.
  • User will open Blurt-wallet app, scan QR code & approve login
  • dApp will update the UX based on the status of the login-request

How does any other broadcast work?

how does broadcast work

  • As showin in the screenshot above, dApp will prepare operations to broadcast & generate QR code accordingly.
  • dApp will show the QR code to user.
  • User will open Blurt-wallet app, scan QR code, approve & broadcast operations
  • dApp will update the UX based on the status of the operations

Who can run key-manager-server?

  • Literally any one
  • Checkout the source code
  • Run it with docker
  • Setup NGINX
  • Make it publicly available

How a dApp can point to any key-manager-server?

  • It's a dApp-developer's responsibility to show a server chooser.
  • I guess, we're already showing list of RPC nodes.
  • Just like that, get a list of servers who are running the service & list them in the dApp
  • User can choose any server from the list.

I don't understand a shit. WTF is this?

  • Alright, I get it. It's little bit technical.
  • How about a demo video?
  • Check this demo video
  • Those who aren't technical may not find it so exciting
  • but those who are techincal, check it out & let me know what do you think.

What's is next?

  • Source code is open-source.
  • Those who have feedback, please feel free to raise issues
  • Those who are technical, I request them to come forward, not only review code but alse raise pull request 🙏

Support me back

Vote me as witness

Blurt Key-manager-server-client

Download Android App from Google Play Store.

Download PWA App on iOS or Android


Cheers
Have a good one

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!
Sort Order:  

Excellent. I’m using Whalevault too. 🐳 🔐

Did you get chance to try this app - https://blurt-comments.web.app/?
Give it a go.

  ·  2 months ago  ·  

Re🤬eD

🥓

  ·  3 days ago  ·  

✌️

  ·  last month  ·  

Nice dapp

Did you give it a try?

  ·  8 days ago  ·  

Nice...

Could you please givee some "howto Develop for blurt" resources?

Thank You

Open Gitlab & search for Blurt. You'll find most of the things overthere. I am just a mobile-app-front-end guy.
May be @tekraze, @saboin, @nalexadre can help.