Skip to content

Review & Loyality Mobile App using Blockchain EAS(Ethereum Attestation Service) as source of truth

License

Notifications You must be signed in to change notification settings

ludwig-g-w/Chaincred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chaincred

Chaincred is a decentralized review & loyalty app that allows users to attest an review with EAS scanning the Ethereum address of another user. It uses thirdweb's React Native SDK to interact with the blockchain and thirdweb's Authentication SDK to handle user authentication.

Demo

Demo

Tools

Features

  • User authentication using thirdweb's Authentication SDK, SIWE (Sign In With Ethereum) and EIP-4361 (EIP-4361 Signature)
  • Scan a QR code to send a review
  • See your review score
  • see where users are on the map
  • Create profile
  • Dark theme
  • Integration with thirdweb's React Native SDK for blockchain interactions
  • Use of thirdweb's EAS SDK for attestation verification
  • Support for multiple attestation types (e.g., action, review)

Getting Started

To get started with ChainCred, follow these steps:

Prerequisites

  • Node.js v18.x
  • Bun v1.x
  • Docker
  1. Clone the repository to your local machine:
git clone https://github.com/ludwigw/chaincred.git
  1. Install the dependencies:
bun install
  1. Set up your environment variables:
    Create a .env.production.local or file in the root directory of the project and add the following variables:

    EXPO_PUBLIC_TW_CLIENT_ID=<your-thirdweb-client-id>
    EXPO_PUBLIC_EAS_CONTRACT=<your-eas-contract-address>
    EXPO_PUBLIC_SCHEMA_ADRESS_ACTION=<your-schema-address-action>
    EXPO_PUBLIC_SCHEMA_ADRESS_REVIEW=<your-schema-address-review>
    EXPO_PUBLIC_EAS_SCHEMA_REGISTRY=<your-eas-schema-registry-address>
    EXPO_PUBLIC_EAS_GRAPHQL=<your-eas-graphql-endpoint>
    EXPO_PUBLIC_API_KEY_GOOGLE=<your-google-api-key>
    EXPO_PUBLIC_ORGANIZATION_MANAGER_ADDRESS=<your-organization-manager-address>
    EXPO_PUBLIC_SUPABASE_URL=<your-supabase-url>
    EXPO_PUBLIC_THIRDWEB_AUTH_PRIVATE_KEY=<your-thirdweb-auth-private-key>
    EXPO_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key>
    EXPO_PUBLIC_SERVER_URL=<your-server-url>
    EXPO_PUBLIC_POSTGRES_PRISMA_URL=<your-postgres-url>
    EXPO_PUBLIC_POSTGRES_URL_NON_POOLING=<your-postgres-url>
    
  2. run docker-compose up

  3. Run the app:

    bun ios
    

Known issues

  • social login doesn't work

Roadmap

  • Migrate to Gluestack Nativewind or remove
  • Fix social login
  • Add lens protocol integration so that you can use your Lens profile to login
  • Add more attestation types
  • Make the app more beautiful
  • Make Discover profiles scalable

Contributing

We welcome contributions to ChainCred! If you have any ideas or suggestions for how to improve the app, please open an issue or submit a pull request on our GitHub repository.

License

ChainCred is licensed under the Apache License 2.0.

About

Review & Loyality Mobile App using Blockchain EAS(Ethereum Attestation Service) as source of truth

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published