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> // Your Thirdweb client ID for authentication
    EXPO_PUBLIC_EAS_CONTRACT=<your-eas-contract-address> // The contract address for EAS (Ethereum Attestation Service)
    EXPO_PUBLIC_SCHEMA_ADRESS_ACTION=<your-schema-address-action> // The schema address for action attestations
    EXPO_PUBLIC_SCHEMA_ADRESS_REVIEW=<your-schema-address-review> // The schema address for review attestations
    EXPO_PUBLIC_EAS_SCHEMA_REGISTRY=<your-eas-schema-registry-address> // The address for the EAS schema registry
    EXPO_PUBLIC_EAS_GRAPHQL=<your-eas-graphql-endpoint> // The GraphQL endpoint for EAS
    EXPO_PUBLIC_API_KEY_GOOGLE=<your-google-api-key> // Your Google API key for accessing Google services
    EXPO_PUBLIC_ORGANIZATION_MANAGER_ADDRESS=<your-organization-manager-address> // The address for the organization manager
    EXPO_PUBLIC_SUPABASE_URL=<your-supabase-url> // The URL for your Supabase instance
    EXPO_PUBLIC_SUPABASE_ANON_KEY=<your-supabase-anon-key> // The anonymous key for accessing Supabase
    EXPO_PUBLIC_SERVER_URL=<your-server-url> // The URL for your server
    EXPO_PUBLIC_POSTGRES_PRISMA_URL=<your-postgres-url> // The URL for your Postgres database with Prisma
    EXPO_PUBLIC_POSTGRES_URL_NON_POOLING=<your-postgres-url> // The non-pooling URL for your Postgres database
    EXPO_PUBLIC_THIRDWEB_FACTORY_ADDRESS=<your-thirdweb-factory-address> // The factory address for Thirdweb
    THIRDWEB_AUTH_PRIVATE_KEY=<your-thirdweb-auth-private-key> // Your private key for Thirdweb authentication
    THIRDWEB_SECRET_KEY=<your-thirdweb-secret-key> // Your secret key for Thirdweb
    
  2. run docker-compose up

  3. Run the app:


bun ios

Known issues


Roadmap

  • Add more attestation types

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