🛠 Build dApps for Real World Usecases on Celo
03:40 PM (Istanbul Time) – Nov 17, 2023
Workshop Room 1
Learn how to build decentralized applications for real world use cases and how to deploy your first dApp on Celo. In this workshop we'll go through an overview of Celo, an EVM compatible layer 1 blockchain, and how you can improve user experience for onboarding using SocialConnect and Account Abstraction on Celo.
For all bounties
- Contracts must be deployed on Alfajores or Mainnet
- Demo to someone on the Celo team during Sponsor Judging
- Mention smart contract addresses of all contracts deployed on Celo in your top-level project README, also Verify them on Celoscan or Celo Explorer.
For "Best Mobile dApp on Celo"
-
If you are building on MiniPay.
- Project must be demo'ed using MiniPay Site Tester
-
If you are building Valora Hooks
- Project must be demo'ed in the latest version of Valora (or if you make modifications to Valora, a build on your local machine). If you're using Valora hooks, see the Live Preview in Valora feature.
For "Best Use of AA"
- Mention your "Smart Account Factory address" or/and "Paymaster Address" or/and "Smart Account" created using some factory in your project README.
- Mention a Tx Hash/Link performed using AA in your project README.
For "Best Use of SocialConnect"
- Mention the Issuer address you are using for lookups in your project README.
- If you are using your own Issuer address, mention that in the README.
Celo is the carbon-negative, mobile-first, EVM-compatible PoS blockchain where developers can build decentralized applications that create the conditions for prosperity — for everyone.
🙋♂️ Ask for help
We've put together this starter project to help you get started quickly, using contracts already deployed to either testnet or Celo mainnet. The project provides: a storage example, how to iterate through a subgraph.
Advanced developers can use Celo Composer from command-line to customize exactly what platform you want to build for: React, React Native (with or without Expo integration), Angular, or Flutter. It includes a Subgraph integration if you need it.
- Education DAO
- A DAO for community members to create educational content
- Carbon Negative NFTs
- A portion of NFT sale will be used to remove carbon from the atmosphere.
- Offline transactions
- Support for offline or local network transactions in the Celo blockchain client for use in wallets with low connectivity.
- Intro to Celo ETHGlobal Guide
- Celo Composer: Extend and Customize your Full-Stack Mobile dApps
- Celo Spark: Celo Composer in 1 min
- Workshop: Building an NFT collection on Celo using Celo composer
SocialConnect is an open source protocol that maps off-chain personal identifiers (such as phone numbers, twitter handles, etc.) to on-chain account addresses. This enables a convenient and interoperable user experience for use cases such as:
- Payments
- Send money directly to your friend's phone number!
- Social Discovery
- Find someone's account based on their twitter!
- Any other identity applications!
SocialConnect uses a federated model, meaning that anyone has the power to be an issuer of attestation mappings. Issuers have the freedom to decide how to verify that the user actually has ownership of their identifier. After verification, issuers register the mapping as an attestation to the on-chain smart contract registry. Attestations are stored under the issuer that registered them. When looking up attestations, we then have to decide which issuers are trusted.
If you don't do this you will get odisAuthError
.
- Issuers for New Identifiers
- Become Issuers for your preferred identifiers and help the ecosystem as a whole!
- Example:- UPI in India - johndoe@okhdfcbank
- Integrate SocialConnect
- Add SocialConnect Support to dApps
- Create interfaces which allow lookup for identifiers like Twitter, Github, Telegram, Email etc…
- Add support for multiple issuers
- Create interfaces that allows users to send tokens or interact with users registered under different issuers like MiniPay, Valora, Kaala etc…
Testnet | Mainnet | |
---|---|---|
Accounts | 0xed7f51A34B4e71fbE69B3091FcF879cD14bD73A9 | 0x7d21685C17607338b313a7174bAb6620baD0aaB7 |
FederatedAttestations | 0x70F9314aF173c246669cFb0EEe79F9Cfd9C34ee3 | 0x0aD5b1d0C25ecF6266Dd951403723B2687d6aff2 |
StableToken | 0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1 | 0x765DE816845861e75A25fCA122bb6898B8B1282a |
Type |
---|
ContractKit |
EthersJS (v5) |
web3.js |
NextJS based web app (Phone Number) |
NextJS based templated |
React Native App (Phone Number) |
NextJS based web app (Twitter) |
Server side NextJS (Twitter) |
The Runtime Environments section shows instructions for using SocialConnect with:
- NodeJS (see Runtime Environments > Node),
- React Native (see Runtime Environments > React Native), and
- Web (see Runtime Environments > Web)
For a deeper dive under the hood and specific implementation details, check out the documentation of the protocol for details on how to interact with the on-chain registry, privacy for how identifiers are obfuscated, and key-setup to setup your role keys to interact with the protocol.
MiniPay is a stablecoin-based non-custodial wallet that allows you to send and receive funds instantly using just a phone number.
- Earn Using MiniPay
- Billing with MiniPay
- Example:- Khatabook
- Ecommerce Store with MiniPay
- Example:- Dukaan
- NFT Viewer
- Gift cards
- Asset tracking and accounting
Come to Celo booth
“Account abstraction is a way to solve these problems by allowing users to flexibly program more security and better user experiences into their accounts” - Ethereum Roadmap
ThirdWeb SDK supports custom Account Factories, custom Accounts.
Pimlico Bundler and paymaster are live on Celo Testnet and Mainnet.
Supports all popular connector types for owner of the Smart Accounts Transaction batching is also supported!
- SocialConnect based recovery account
- Account with Transaction validation using Fingerprint or FaceID
- Session based keys in Accounts for Gaming/Social Media
- Token Paymaster for tokens like GoodDollar, Staking Reward Tokens etc…
- App specific sponsoring
- Hack on Celo with Candide
- Thirdweb Smart Wallet
- Submit a User Operation with a Verifying Paymaster
- Submit a User Operation with an ERC-20 Paymaster
- Send your first User Operation with a Safe Account
- Send a Gasless Transaction with a Safe Account
- Submit a User Operation and Pay Gas with cUSD or cEUR
Tell us more about your project here and stay in touch with us!
All the best!