KardiaChain Docs
  • Introduction
  • Technology
    • Consensus
    • Kardia Virtual Machine (KVM)
    • Kardia Smart Contract Markup Language
    • Peer to Peer (P2P)
    • Onchain AI
    • NF3 Chip
  • For Users
    • KardiaChain Proposer Validator Selection Process
    • Staking
      • Validators
      • Delegators
      • Disciplines and Rewards
        • Disciplines
        • Rewards
    • Transaction Fee
    • Wallets
      • MetaMask Compatible
      • KardiaChain Mobile App Wallet
      • [Deprecated] KardiaChain Web Wallet
        • [Deprecated] KardiaChain Wallet Extension
  • For Developers
    • Tutorials
      • Platform
        • Running KardiaChain node
        • Private KardiaChain Network
        • KAI Integration for Exchanges
      • Smart contract development
        • Dev environment
          • Solidity
          • IDE and tools
            • Remix
            • Hardhat
            • Truffle
        • Contract verification
      • KRC20 Tokens
        • Deploying KRC20 Token
        • KRC20 token verification
      • KRC721 Tokens
        • Deploy KRC721 tokens
      • Building DApp
        • Frontend
        • Data indexing service
    • SDK
      • Web3
      • [Deprecated] KardiaChain JS SDK
      • [Deprecated] KardiaChain Golang SDK
    • RPC
      • JSON RPC API
    • KardiaID Service
      • KardiaID Service Design
      • KardiaID Service API
  • Archived Docs
    • Golang SDK
    • Network
    • KVM
    • System requirement
    • Deployment
      • Configuration
      • Local
      • Public testnet
      • Mainnet
    • KSML
    • Staking Overview
      • Delegation period
      • Consensus
      • Delegator
        • What is a delegator ?
        • Choose validator
        • Directive of delegator
        • Risk
      • Proposer selection procedure
      • Staking rewards and distributions
        • Block reward distributed
        • Fee distributed
      • Slashing and Jail
      • Rewards mechanism
      • Validator
        • What is a validator ?
        • The different states a validator
        • The responsibility of validator
        • The incentive run a validator
        • To become validator
    • KardiaChain Metamask (extension) Wallet
Powered by GitBook
On this page
  • Summary
  • OAuth authorization service
  • Kardia blockchain gateway
  • Advanced wallet service

Was this helpful?

  1. For Developers
  2. KardiaID Service

KardiaID Service Design

KAIBase Design

PreviousKardiaID ServiceNextKardiaID Service API

Last updated 4 years ago

Was this helpful?

Summary

The KardiaID Service serves as an interface between user applications and KardiaChain Mainnet. It provides authorization service using secure access-token to interact with KardiaChain Mainnet.

OAuth authorization service

KardiaID Service implements authorization protocol similar to , providing client applications with secure delegated access. Users use the client app to login to KardiaID Service with username & password and obtain access-token. Client app then uses access-token to interact with Kardia blockchain.

Kardia blockchain gateway

Automatically creates new KardiaChain wallet

KardiaID Service generates new Kardia Mainnet wallet for new users during the OAuth2 registration.

Wallet private keys are kept on KardiaID Service, the client uses only access-token to interact with the Kardia blockchain through KardiaID Service API.

Transaction sign & send

Blockchain nodes accept only fully-signed & encoded transactions.

Client applications can just create simple transaction data in JSON and send it to KardiaID Service API.

KardiaID Service signs the transaction with the user's private key and forward to Kardia Mainnet.

Advanced wallet service

KardiaID Service can optionally provide advanced management for the user wallet.

Seed coin deposit

New blockchain wallet has zero coin balance, is unable to pay network fees and thus cannot send any transactions until receiving at least a small amount from another wallet. This is a common problem for users created inside client applications.

As the gateway, KardiaID Service can provide seed coin deposit service for new users. Application developers can arrange through KardiaID Service to give every new user a small KAI amount, thus allowing each user to interact with the blockchain without delay.

Example from KAI Membership phone app:

  1. A user registers a new account on the KAI Membership phone app.

  2. The user Mainnet wallet is generated during registration.

  3. KardiaID Service automatically sends the user wallet seed fund of 0.01 KAI.

  4. The user wants to play a game that utilizes Smart Contract on the KardiaChain Mainnet.

  5. As the condition is met, the user account can now interact with Smart Contract by sending transactions with enough network fees.

  6. The user can instantly play the game without any delay.

OAuth2
Usage Flow
Life of a Transaction