Quick Start: Build a dApp
What's a dApp?
A dApp is a decentralized application; that is, an app (web or mobile) that talks to a blockchain.
A key feature of a dApp is the ability for a user to connect their wallet as their identity and authentication mechanism. Any actions the user takes through the dApp are sent back to the user's wallet app for the user to approve, sign, and submit their transaction directly to the blockchain.
dApp Architecture
dApp Components
A typical Provenance Blockchain dApp will:
-
Use the Wallet Connect v2 protocol to communicate with the user's wallet of choice
-
Use the Provenance walletconnect-js library
-
Read and write data using Google Protocol Buffers and Provenance Proto docs
-
Communicate with the blockchain through the Provenance and Cosmos GRPC Services (APIs), examples including:
- Provenance Attribute Query Serivce for querying KYC/AML attributes for a user account
- Provenance Marker Msg Service for creating new tokens
- Cosmos Bank Msg Service for sending coins/tokens to another account
-
Make use of the BlockVault CEE data privacy system for PII data that needs to stay off-chain
Resources
- Browse our Tutorials
- Read one developer's journey to Building Your First dApp
- Read how to Add WalletConnect functionality to your dApp lightning fast ⚡
- The How-to-Provenance GitHub repo contains examples of most types of operations you might perform on Provenance Blockchain
- Provenance Create React App template is a quick way to create a web-based dApp
- "Front-end only" dApps will need a service like https://www.envoyproxy.io/ to make GRPC calls to the blockchain
- GRPCurl examples
- JVM (Java/Kotlin) GRPC client