create account

Hive Authentication Client (HAC) by mintrawa

View this thread on: hive.blogpeakd.comecency.com
· @mintrawa ·
$610.61
Hive Authentication Client (HAC)
<center>![hive_auth_client_hac.jpg](https://images.ecency.com/DQmdaJ7DcsnGpNGrwyAvD9huk52tqj2R7wzKqXHvNKetHZR/hive_auth_client_hac.jpg)</center>

As I got some free time lately I decided to use it for the HIVE community either in publishing open source tools for application developers on HIVE or for personal & professional projects on HIVE.

After the [HIVE Nodes Checker](/hive-139531/@mintrawa/hive-nodes-checker-version-0-hive-139531) it's time to introduce the Hive Authentication Client (HAC)

# Hive Authentication Client (HAC)

Hive Authentication Client (HAC) is a password-less users authentication, sign and broadcast transactions for the [HIVE Blockchain](https://hive.io/) through the [Hive Authentication Services (HAS)](/hive-139531/@arcange/hive-authentication-services-proposal) or the [Hive Keychain Browser Extension (KBE)](/hive/@keychain/hive-keychain-proposal-3-dhf).

Authentications and transactions are performed by the wallet supporting the HAS protocol or the Hive Keychain Browser Extension without communicating the private key, which thus remains secure. The results of each operation are sent by subscription (RxJS).

Hive Authentication Client (HAC) manages previous connections as well through encrypted data in the localStorage. 

In order to save time on the learning curve of the HIVE blockchain, some operations exist in short versions too (e.g. `hacFollowing`, `hacTransfer`, `hacDelegation`...).

Big thank to @arcange who is the originator of the Hive Authentication Services (HAS) and to @stoodkev for his work to make the HIVE Keychain wallet compatible with the HAS protocol πŸ‘

**Hive Authentication Services (HAS)**

Manage the WebSocket connection to the HAS and all communication with it. Support reconnection to another HAS WebSocket server in case of failure.

HAS documentation: https://docs.hiveauth.com/

**Hive Keychain Browser Extension (KBE)**

Manage the communication with the Hive Keychain Browser Extension if present

KBE documentation: https://github.com/stoodkev/hive-keychain

## Github & NPM

- https://github.com/Mintrawa/hive-auth-client
- https://www.npmjs.com/package/@mintrawa/hive-auth-client

<center><div class="phishy"><sub>**Like the Hive Authentication Services (HAS) this package remains in BETA!**</sub></div></center> 

<center>![screenshot_2022_01_20_031705.jpg](https://images.ecency.com/DQmUYxCCyWzPd1VbNcAwmtsnyrdXTMn1C6ytRju8abMjYpp/screenshot_2022_01_20_031705.jpg)</center>

## Use case example (extremely basic)

I propose to show you how the Hive Authentication Client (HAC) works through a short Angular app example, which will be more meaningful.

Our application will allow us to connect to the HIVE blockchain via HAS or KBE and to proceed to some transactions like Upvote for witness and Follow/Unfollow.

For a more complete example, you can go there :
https://github.com/Mintrawa/hac-tutorial

## Angular example

### Initialize

create a new angular project

```bash
$  ng new hac-tutorial
```
<sub>*choose yes for routing option and, CSS or SCSS.*</sub>

Install the dependencies we will need for this tutorial

```bash
~/hac-tutorial$  npm i --save ng-qrcode @mintrawa/hive-auth-client
```
### Edit

open the project directory with your favorite editor

#### angular.json

Due to the usage of CommonJS dependencies, we need to add a section `allowedCommonJsDependencies` in our `angular.json` file after `"scripts": [],`.

```ts
"allowedCommonJsDependencies": [
   "@mintrawa/hive-auth-client",
   "qrcode"
]
```

#### app.module.ts

For the tutorial, we will need to show a QRcode, to do this we will use the [ng-qrcode](https://www.npmjs.com/package/ng-qrcode) package

Open the `app.module.ts` and add the import line `import { QrCodeModule } from 'ng-qrcode';` and in the `import` array add `QrCodeModule,`

#### app.component.ts

In this example, we will do everything from the `app.component.ts`

```ts
import { Component, OnDestroy, OnInit } from '@angular/core';

/** Hive Authentication Client (HAC) */
import {
  HiveAuthClient,
  hacMsg,
  hacUserAuth,
  hacFollowing,
  hacWitnessVote,
} from '@mintrawa/hive-auth-client';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent implements OnInit, OnDestroy {
  loader = false;
  voteWitnessLoader = false;
  voteWitnessButton = false;
  followLoader = false;
  followButton = false;
  qrHAS: string | undefined;
  username?: string;
  connected?: string;
  pwd = '520c5c9b-bd58-4253-850a-1fa591a2dabd';

  connect(username: string): void {
    this.loader = true;
    this.username = username;
    hacUserAuth(username, { name: 'HACtutorial' }, this.pwd, {
      key_type: 'active',
      value: 'MyCha11en6e',
    });
  }

  voteWitness(witness: string, approve: boolean): void {
    this.voteWitnessLoader = true;
    this.followButton = true;
    hacWitnessVote(witness, approve);
  }

  follow(account: string, follow: boolean): void {
    this.followLoader = true;
    this.voteWitnessButton = true;
    hacFollowing(account, follow);
  }

  ngOnInit(): void {
    /** Initialize the HIVE auth client */
    HiveAuthClient();

    hacMsg.subscribe((m) => {
      console.log(m);

      /** Received auth_wait => generate the qrCode */
      if (m.type === 'qr_code') {
        /** QRcode data */
        this.qrHAS = (m as any).msg;
      }

      /** Received authentication msg */
      if (m.type === 'authentication') {
        if (!m.error) {
          this.connected = m.msg?.data?.chalenge.slice(0, 12) + '...';
        } else {
          this.loader = false;
          this.qrHAS = null;
          window.alert(`${m.error.msg}`);
        }
      }

      /** Received sign_result */
      if (m.type === 'tx_result') {
        this.voteWitnessLoader
          ? (this.voteWitnessLoader = false)
          : (this.followLoader = false);
        this.voteWitnessButton
          ? (this.voteWitnessButton = false)
          : (this.followButton = false);
        window.alert(`${m.msg?.status} | ${m.msg?.uuid ? m.msg?.uuid : ''}`);
      }
    });
  }

  ngOnDestroy(): void {
    hacMsg.unsubscribe();
  }
}
```

#### app.component.scss

a little touch of style

```css
.flex-container {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-content: stretch;
  align-items: center;
  height: 100vh;
}

.encart {
  border: 2px solid red;
  padding: 20px;
  border-radius: 25px;
}

.loader {
  border: 4px solid #f3f3f3;
  border-radius: 50%;
  border-top: 4px solid red;
  width: 16px;
  height: 16px;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
}

.operations {
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-content: stretch;
  align-items: flex-start;
  height: 100vh;
  padding: 12px;
}
.item {
  width: 250px;
  height: 80px;
}
```

#### app.component.html

Time to do our HTML.

```html
<div class="flex-container">
  <!-- Login -->
  <div class="encart" *ngIf="!connected && !qrHAS">
    <div>HIVE Username</div>
    <div style="height:6px;"></div>
    <input #username type="text" />
    <div style="height:6px;"></div>
    <button (click)="connect(username.value)" *ngIf="!loader">
      HAS Connect
    </button>
  </div>
  <!-- QRcode -->
  <div class="encart" *ngIf="!connected && qrHAS">
    <div>{{ username }}</div>
    <qr-code
      [value]="'has://auth_req/' + qrHAS"
      [size]="192"
      [errorCorrectionLevel]="'M'"
    ></qr-code>
    <div *ngIf="loader" class="loader"></div>
  </div>
  <!-- Connected => OPERATIONS -->
  <div *ngIf="connected" class="operations">
    <!-- VOTE WITNESS -->
    <div class="encart item">
      <div>VOTE WITNESS</div>
      <div style="height:6px;"></div>
      <div>
        <div>witness: <input #witness type="text" value="mintrawa" /></div>
        <div style="height: 6px;"></div>
        <div *ngIf="!voteWitnessLoader">
          <button
            [disabled]="voteWitnessButton"
            (click)="voteWitness(witness.value, true)"
          >
            APPROVE</button
          >&nbsp;
          <button
            [disabled]="voteWitnessButton"
            (click)="voteWitness(witness.value, false)"
          >
            DISAPPROVE
          </button>
        </div>
        <div class="loader" *ngIf="voteWitnessLoader"></div>
      </div>
    </div>
    <div style="height:12px;"></div>
    <!-- FOLLOWING -->
    <div class="encart item">
      <div>FOLLOWING</div>
      <div style="height:6px;"></div>
      <div>
        <div><input #following type="text" value="mintrawa" /></div>
        <div style="height: 6px;"></div>
        <div *ngIf="!followLoader">
          <button
            [disabled]="followButton"
            (click)="follow(following.value, true)"
          >
            FOLLOW</button
          >&nbsp;
          <button
            [disabled]="followButton"
            (click)="follow(following.value, false)"
          >
            UNFOLLOW
          </button>
        </div>
        <div class="loader" *ngIf="followLoader"></div>
      </div>
    </div>
  </div>
</div>
```
This short example is also available on **Stackblitz**
https://stackblitz.com/edit/angular-ivy-ew73hs

## hac-tutorial

A more complete example is available on **Github** here:
https://github.com/Mintrawa/hac-tutorial

- Mode debug
- Fallback on the first HAS server
- Management previous connections
- Choice between HAS or Keychain
- 1 page for the sign in and 1 for the operations
- 8 operations in easy mode
  - follow/unfollow
  - vote/downvote
  - approve/disapprove Witness
  - transfer
  - transferToVesting
  - withdrawVesting
  - delegation
  - convert (HBD=>HIVE / HIVE=>HBD)
- 1 manual operation (claim discount account)

<hr>

<center><sub>Original photo by [olieman.eth](https://unsplash.com/@moneyphotos?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/password?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)</sub></center>

<hr>

<center>

My HIVE witness servers

<center><sub>PRINCIPAL</sub></center> | <center><sub>BACKUP/SEED</sub></center>
------------ | -------------
<sub>CPU:Intel Xeon E3-1270v6</sub> | <sub>CPU: Intel Xeon E3-1230v6</sub>
<sub>4 Cores/8 Threads  3.5 GHz/3.9 GHz</sub> | <sub>4 Cores/8 Threads 3.8 GHz/4.2 GHz</sub>
<sub>RAM: 32GB DDR4 ECC 2133MHz</sub> | <sub>RAM: 32GB DDR4 ECC 2133MHz</sub>
<sub>HDD: 1 To SSD NVMe</sub> | <sub>HDD: 1 To SSD NVMe</sub>

<sub>
Vote for my HIVE witness: [click here (via **HiveSigner**)](https://hivesigner.com/sign/account-witness-vote?witness=mintrawa&approve=1) 
</sub>

</center>
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 308 others
πŸ‘Ž  ,
properties (23)
authormintrawa
permlinkhive-authentication-client-hac
categoryhive-139531
json_metadata{"links":["https://hive.io/","https://docs.hiveauth.com/","https://github.com/stoodkev/hive-keychain","https://github.com/Mintrawa/hive-auth-client","https://www.npmjs.com/package/@mintrawa/hive-auth-client","https://github.com/Mintrawa/hac-tutorial","https://www.npmjs.com/package/ng-qrcode","https://stackblitz.com/edit/angular-ivy-ew73hs","https://github.com/Mintrawa/hac-tutorial","https://unsplash.com/@moneyphotos?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText"],"image":["https://images.ecency.com/DQmdaJ7DcsnGpNGrwyAvD9huk52tqj2R7wzKqXHvNKetHZR/hive_auth_client_hac.jpg","https://images.ecency.com/DQmUYxCCyWzPd1VbNcAwmtsnyrdXTMn1C6ytRju8abMjYpp/screenshot_2022_01_20_031705.jpg"],"thumbnails":["https://images.ecency.com/DQmdaJ7DcsnGpNGrwyAvD9huk52tqj2R7wzKqXHvNKetHZR/hive_auth_client_hac.jpg","https://images.ecency.com/DQmUYxCCyWzPd1VbNcAwmtsnyrdXTMn1C6ytRju8abMjYpp/screenshot_2022_01_20_031705.jpg"],"users":["arcange","stoodkev","mintrawa","Component"],"tags":["hive-139531","hive","blockchain","dev","development","programming","typescript","angular","javascript","hivedevs"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-19 21:51:00
last_update2022-01-19 21:51:00
depth0
children28
last_payout2022-01-26 21:51:00
cashout_time1969-12-31 23:59:59
total_payout_value305.372 HBD
curator_payout_value305.233 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length10,698
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,658,579
net_rshares563,494,387,514,823
author_curate_reward""
vote details (374)
@ablaze ·
$0.07
Excellent and a nice walk through the code too and shout outs to stoodkev and arcange πŸ‘
πŸ‘  
properties (23)
authorablaze
permlinkr616x5
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2022-01-20 23:08:00
last_update2022-01-20 23:08:00
depth1
children1
last_payout2022-01-27 23:08:00
cashout_time1969-12-31 23:59:59
total_payout_value0.035 HBD
curator_payout_value0.036 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length87
author_reputation496,748,938,487,640
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,701,933
net_rshares66,040,941,161
author_curate_reward""
vote details (1)
@mintrawa ·
Thanks a lot for your comment
πŸ‘  
properties (23)
authormintrawa
permlinkre-ablaze-2022121t142516990z
categoryhive-139531
json_metadata{"tags":["ecency"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-21 07:25:18
last_update2022-01-21 07:25:18
depth2
children0
last_payout2022-01-28 07:25:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length29
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,713,550
net_rshares18,082,804,885
author_curate_reward""
vote details (1)
@allama ·
Outstanding, and a great walkthrough too.
properties (22)
authorallama
permlinkre-mintrawa-r6m809
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2022.01.2"}
created2022-02-01 07:41:00
last_update2022-02-01 07:41:00
depth1
children0
last_payout2022-02-08 07:41:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length41
author_reputation437,083,684,635,033
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id110,036,657
net_rshares0
@be-alysha ·
What is the difference between HAC and Hive signer? 
properties (22)
authorbe-alysha
permlinkre-mintrawa-r6208t
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-21 09:41:18
last_update2022-01-21 09:41:18
depth1
children1
last_payout2022-01-28 09:41:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length52
author_reputation22,418,512,459,506
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,716,153
net_rshares0
@mintrawa ·
In HiveSigner, you have to give your private keys, which means that your private keys are stored in a database on the HiveSigner server (which makes them vulnerable to being hacked or leaked). With the HAS protocol or Keychain browser extension, it's your device that performs the transaction with the HIVE blockchain, which means that your private keys never leave your device and will never be shared with an application.
πŸ‘  
properties (23)
authormintrawa
permlinkre-be-alysha-2022121t191559284z
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-21 12:16:00
last_update2022-01-21 12:16:00
depth2
children0
last_payout2022-01-28 12:16:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length423
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,719,166
net_rshares3,061,825,480
author_curate_reward""
vote details (1)
@drutter ·
Next time post in English for the rest of us, please.
properties (22)
authordrutter
permlinkr620c3
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2022-01-21 09:43:24
last_update2022-01-21 09:43:24
depth1
children0
last_payout2022-01-28 09:43:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length53
author_reputation195,816,837,999,321
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,716,194
net_rshares0
@hivebuzz ·
Congratulations @mintrawa! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s):

<table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@mintrawa/upvotes.png?202201190332"></td><td>You distributed more than 15000 upvotes.<br>Your next target is to reach 16000 upvotes.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@mintrawa) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>


To support your work, I also upvoted your post!


**Check out the last post from @hivebuzz:**
<table><tr><td><a href="/hivebuzz/@hivebuzz/pum-202201-18"><img src="https://images.hive.blog/64x128/https://i.imgur.com/RdBX3H6.png"></a></td><td><a href="/hivebuzz/@hivebuzz/pum-202201-18">Hive Power Up Month - Feedback from day 18</a></td></tr></table>
properties (22)
authorhivebuzz
permlinknotify-mintrawa-20220119t221533
categoryhive-139531
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2022-01-19 22:15:33
last_update2022-01-19 22:15:33
depth1
children0
last_payout2022-01-26 22:15:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length983
author_reputation369,393,292,813,518
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,659,601
net_rshares0
@hivebuzz ·
$0.28
Congratulations @mintrawa! Your post has been a top performer on the Hive blockchain and you have been rewarded with the following badge:

<table><tr><td><img src="https://images.hive.blog/60x60/http://hivebuzz.me/badges/toppayoutweek.png"></td><td>Post with the highest payout of the week.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@mintrawa) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



**Check out the last post from @hivebuzz:**
<table><tr><td><a href="/hivebuzz/@hivebuzz/pum-202201-22"><img src="https://images.hive.blog/64x128/https://i.imgur.com/nSxk3aq.png"></a></td><td><a href="/hivebuzz/@hivebuzz/pum-202201-22">Hive Power Up Month - Feedback from day 22</a></td></tr></table>
πŸ‘  
properties (23)
authorhivebuzz
permlinknotify-mintrawa-20220124t012552
categoryhive-139531
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2022-01-24 01:25:54
last_update2022-01-24 01:25:54
depth1
children0
last_payout2022-01-31 01:25:54
cashout_time1969-12-31 23:59:59
total_payout_value0.137 HBD
curator_payout_value0.138 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length879
author_reputation369,393,292,813,518
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,795,379
net_rshares226,642,973,833
author_curate_reward""
vote details (1)
@manh20 ·
Thank you for this information wish you all the best
πŸ‘Ž  
properties (23)
authormanh20
permlinkre-mintrawa-2022120t221324742z
categoryhive-139531
json_metadata{"tags":["hive-139531","hive","blockchain","dev","development","programming","typescript","angular","javascript","hivedevs"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-20 15:13:27
last_update2022-01-20 15:13:27
depth1
children1
last_payout2022-01-27 15:13:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length52
author_reputation205,006,431,841
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,690,649
net_rshares-435,858,485,739
author_curate_reward""
vote details (1)
@mintrawa ·
Thank you for your support
properties (22)
authormintrawa
permlinkre-manh20-2022121t141254430z
categoryhive-139531
json_metadata{"tags":["hive-139531","hive","blockchain","dev","development","programming","typescript","angular","javascript","hivedevs"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-21 07:12:54
last_update2022-01-21 07:12:54
depth2
children0
last_payout2022-01-28 07:12:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length26
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,713,374
net_rshares0
@manniman ·
HAC-K Nice!
properties (22)
authormanniman
permlinkre-mintrawa-r5zh8g
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-20 00:55:27
last_update2022-01-20 00:55:27
depth1
children3
last_payout2022-01-27 00:55:27
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length11
author_reputation77,790,724,868,389
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,663,225
net_rshares0
@mintrawa ·
$0.03
Hahaha thanks πŸ‘
πŸ‘  
properties (23)
authormintrawa
permlinkre-manniman-2022120t171437128z
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-20 10:14:39
last_update2022-01-20 10:14:39
depth2
children2
last_payout2022-01-27 10:14:39
cashout_time1969-12-31 23:59:59
total_payout_value0.017 HBD
curator_payout_value0.017 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length15
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,682,859
net_rshares32,609,630,613
author_curate_reward""
vote details (1)
@beerlover ·
<div class='pull-right'>https://files.peakd.com/file/peakd-hive/beerlover/yiuU6bdf-beerlover20gives20BEER.gif<p><sup><a href='https://hive-engine.com/?p=market&t=BEER'>View or trade </a> <code>BEER</code>.</sup></p></div><center><br> <p>Hey @mintrawa, here is a little bit of <code>BEER</code> from @manniman for you. Enjoy it!</p> <p>Learn how to <a href='https://peakd.com/beer/@beerlover/what-is-proof-of-stake-with-beer'>earn <b>FREE BEER</b> each day </a> by staking your <code>BEER</code>.</p> </center><div></div>
properties (22)
authorbeerlover
permlinkre-mintrawa-re-manniman-2022120t171437128z-20220120t102323813z
categoryhive-139531
json_metadata{"app":"beerlover/2.0"}
created2022-01-20 10:23:24
last_update2022-01-20 10:23:24
depth3
children0
last_payout2022-01-27 10:23:24
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length521
author_reputation25,787,219,315,076
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,683,266
net_rshares0
@manniman ·
$0.11
:) cheers to you !BEER
πŸ‘  , , , ,
properties (23)
authormanniman
permlinkre-mintrawa-r607h3
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-20 10:22:15
last_update2022-01-20 10:22:15
depth3
children0
last_payout2022-01-27 10:22:15
cashout_time1969-12-31 23:59:59
total_payout_value0.057 HBD
curator_payout_value0.054 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length22
author_reputation77,790,724,868,389
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,683,219
net_rshares105,425,546,617
author_curate_reward""
vote details (5)
@methodofmad ·
$0.36
@cryptocharmers in case you need it for an upcoming project
πŸ‘  , , , ,
properties (23)
authormethodofmad
permlinkre-mintrawa-r632x9
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-21 23:36:51
last_update2022-01-21 23:36:51
depth1
children0
last_payout2022-01-28 23:36:51
cashout_time1969-12-31 23:59:59
total_payout_value0.182 HBD
curator_payout_value0.180 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length59
author_reputation14,840,828,149,748
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,734,861
net_rshares319,562,243,619
author_curate_reward""
vote details (5)
@mobi72 ·
Way above my brain's natural position but, surely, it does give an angle to think about or have fueled light in some of the boxes in my brain.
properties (22)
authormobi72
permlinkre-mintrawa-r604nw
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-20 09:22:36
last_update2022-01-20 09:22:36
depth1
children1
last_payout2022-01-27 09:22:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length142
author_reputation49,948,507,174,693
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,681,404
net_rshares0
@mintrawa ·
Thanks for your comment πŸ‘
properties (22)
authormintrawa
permlinkre-mobi72-2022120t17153514z
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-20 10:15:36
last_update2022-01-20 10:15:36
depth2
children0
last_payout2022-01-27 10:15:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length25
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,682,977
net_rshares0
@nicolasbernada ·
cool post
πŸ‘Ž  
properties (23)
authornicolasbernada
permlinkr60u6o
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2022-01-20 18:32:51
last_update2022-01-20 18:32:51
depth1
children0
last_payout2022-01-27 18:32:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9
author_reputation782,528,205,098
root_title"Hive Authentication Client (HAC)"
beneficiaries
0.
accounthiveonboard
weight100
1.
accountocdb
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,695,730
net_rshares-429,256,288,465
author_curate_reward""
vote details (1)
@nkechi ·
Thanks for the information. 
properties (22)
authornkechi
permlinkre-mintrawa-r602te
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-20 08:41:39
last_update2022-01-20 08:41:39
depth1
children1
last_payout2022-01-27 08:41:39
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length28
author_reputation6,183,721,709,496
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,680,431
net_rshares0
@mintrawa ·
You're welcome
properties (22)
authormintrawa
permlinkre-nkechi-2022120t171454696z
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-20 10:14:57
last_update2022-01-20 10:14:57
depth2
children0
last_payout2022-01-27 10:14:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length14
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,682,902
net_rshares0
@oluwasamlex1 ·
@mintrawa I think the **HAC** was created to simply so many process requirements when interacting with the HIVE community..  but considering the fact that it's passwordless, what are the level of security check out in place to avoid scammer bridging.?
Considering the fact I have not experiment the usability. Hoping to learn more about how it works in your next post..
properties (22)
authoroluwasamlex1
permlinkr60y2m
categoryhive-139531
json_metadata{"users":["mintrawa"],"app":"hiveblog/0.1"}
created2022-01-20 19:56:57
last_update2022-01-20 19:56:57
depth1
children2
last_payout2022-01-27 19:56:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length369
author_reputation213,669,295,658
root_title"Hive Authentication Client (HAC)"
beneficiaries
0.
accounthiveonboard
weight100
1.
accountocdb
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,697,838
net_rshares0
@mintrawa ·
$0.02
The advantage of passwordless is that the validation is done directly from the wallet supporting the HAS protocol. Thus, the keys are never communicated, preventing the application used to retrieve them ant to being leaked after that. 

Moreover, the initialization is done by scanning a QRcode from the wallet (or in the case of an application on a smartphone a direct communication with the wallet) allowing to create the future encrypted exchange between application and wallet. The system thus prevents any man-in-the-middle attack since only the application and the wallet can encode and decode the messages they send each other.
πŸ‘  ,
properties (23)
authormintrawa
permlinkre-oluwasamlex1-2022121t142417979z
categoryhive-139531
json_metadata{"tags":["ecency"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-21 07:24:18
last_update2022-01-21 07:24:18
depth2
children1
last_payout2022-01-28 07:24:18
cashout_time1969-12-31 23:59:59
total_payout_value0.012 HBD
curator_payout_value0.010 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length634
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,713,529
net_rshares20,795,572,203
author_curate_reward""
vote details (2)
@oluwasamlex1 ·
Amazing very secure I see.... Still research on a personal note
properties (22)
authoroluwasamlex1
permlinkr62e95
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2022-01-21 14:43:57
last_update2022-01-21 14:43:57
depth3
children0
last_payout2022-01-28 14:43:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length63
author_reputation213,669,295,658
root_title"Hive Authentication Client (HAC)"
beneficiaries
0.
accounthiveonboard
weight100
1.
accountocdb
weight100
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,722,611
net_rshares0
@poshtoken ·
https://twitter.com/wouarfwouarf/status/1483924461422538753
<sub> The rewards earned on this comment will go directly to the person sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.</sub>
properties (22)
authorposhtoken
permlinkre-mintrawa-hive-authentication-client-hac15508
categoryhive-139531
json_metadata"{"app":"Poshtoken 0.0.1"}"
created2022-01-19 22:25:51
last_update2022-01-19 22:25:51
depth1
children1
last_payout2022-01-26 22:25:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length247
author_reputation5,413,052,146,199,012
root_title"Hive Authentication Client (HAC)"
beneficiaries
0.
accountreward.app
weight10,000
max_accepted_payout1,000,000.000 HBD
percent_hbd0
post_id109,660,056
net_rshares0
@yugpreetsingh ·
Keep it up bro :)
properties (22)
authoryugpreetsingh
permlinkr60w2y
categoryhive-139531
json_metadata{"app":"hiveblog/0.1"}
created2022-01-20 19:13:48
last_update2022-01-20 19:13:48
depth2
children0
last_payout2022-01-27 19:13:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length17
author_reputation0
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,696,857
net_rshares0
@readforfun ·
Please I request for a contribution to help me get started on my webdev journey.
Thanks for your time❀
properties (22)
authorreadforfun
permlinkre-mintrawa-2022122t467603z
categoryhive-139531
json_metadata{"tags":["hive-139531","hive","blockchain","dev","development","programming","typescript","angular","javascript","hivedevs"],"app":"ecency/3.0.23-mobile","format":"markdown+html"}
created2022-01-22 03:06:09
last_update2022-01-22 03:06:09
depth1
children0
last_payout2022-01-29 03:06:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length102
author_reputation1,542,702,555,369
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,738,708
net_rshares0
@tobetada ·
lookin good...
properties (22)
authortobetada
permlinkre-mintrawa-r606fn
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"peakd/2021.12.1"}
created2022-01-20 09:59:51
last_update2022-01-20 09:59:51
depth1
children1
last_payout2022-01-27 09:59:51
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length14
author_reputation597,853,819,316,852
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,682,224
net_rshares0
@mintrawa ·
Thank you
properties (22)
authormintrawa
permlinkre-tobetada-2022120t171512777z
categoryhive-139531
json_metadata{"tags":["hive-139531"],"app":"ecency/3.0.20-vision","format":"markdown+html"}
created2022-01-20 10:15:15
last_update2022-01-20 10:15:15
depth2
children0
last_payout2022-01-27 10:15:15
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length9
author_reputation18,694,802,429,423
root_title"Hive Authentication Client (HAC)"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id109,682,933
net_rshares0