Skip to content

Latest commit

 

History

History
 
 

ethglobal-istanbul

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

ethglobal_istanbul

ETHGlobal Istanbul

Celo is sponsoring ETHGlobal Istanbul!

Prizes!

Best Overall

3000 USDC · 2000 USDC · 1000 USDC

Best Payment dApp for Real World MiniPay or Valora

2000 USDC

Best Use of AA or SocialConnect

2000 USDC

Workshop Details

Title

🛠 Build dApps for Real World Usecases on Celo

Slides

Here

Time

03:40 PM (Istanbul Time) – Nov 17, 2023

Location

Workshop Room 1

Description

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.

Judging Criteria

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.

What is Celo?

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.

Resources for hackers

🙋‍♂️ Ask for help

Get started using Celo Composer

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.

Celo Composer Docs

Ideas
  • 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.

More

Guides

SocialConnect

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!

🛠 How it Works

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.

DEK Setup (Important)

If you don't do this you will get odisAuthError.

Instructions

Ideas

  • 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…

Useful Contract Adddresses

Testnet Mainnet
Accounts 0xed7f51A34B4e71fbE69B3091FcF879cD14bD73A9 0x7d21685C17607338b313a7174bAb6620baD0aaB7
FederatedAttestations 0x70F9314aF173c246669cFb0EEe79F9Cfd9C34ee3 0x0aD5b1d0C25ecF6266Dd951403723B2687d6aff2
StableToken 0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1 0x765DE816845861e75A25fCA122bb6898B8B1282a

Videos

Introduction to SocialConnect Celo Spark: SocialConnect Mini-Series (1/3) — What Is It?
Celo Spark: SocialConnect Mini-Series (2/3) — How Does It Works? Celo Spark: SocialConnect Mini-Series (3/3) — Coding Session

🚀 Examples

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:

📄 Documentation

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.

MiniPay video

Ideas

  • Earn Using MiniPay
  • Billing with MiniPay
    • Example:- Khatabook
  • Ecommerce Store with MiniPay
    • Example:- Dukaan
  • NFT Viewer
  • Gift cards
  • Asset tracking and accounting

Guides

How to build on MiniPay

How to get Mainnet cUSD?

Come to Celo booth

Valora (TODO)

Account Abstraction on Celo

“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!

Ideas

  • 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

Guides

Videos

Examples

Show and Tell

Tell us more about your project here and stay in touch with us!

All the best!