Giter Site home page Giter Site logo

badgooooor / ethtalk.app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chunrapeepat/ethtalk.app

0.0 1.0 0.0 4.77 MB

ETHTalk is a comments widget implemented and designed for the Ethereum ecosystem built on top of ๐Ÿ— Scaffold-ETH

Home Page: https://ethtalk.app

License: MIT License

JavaScript 95.24% Shell 0.20% HTML 1.60% CSS 0.11% TypeScript 2.86%

ethtalk.app's Introduction

๐Ÿ’ฌ ETHTalk

ETHTalk Cover EthTalk is a comments widget implemented and designed for the Ethereum ecosystem built on top of ๐Ÿ— Scaffold-ETH, lets visitors leave comments on your website with their non-custodial Ethereum account

Try it yourself: https://ethtalk.app, Demo video: https://www.youtube.com/watch?v=ikJnxQJaxJA

Why ETHTalk?

Basically, for commenting on any website, you need to have a Facebook or Google accounts, or sometimes you need to register a new account with a new username/password which may have a few problems:

  1. All the un/pw is controlled by Google, Facebook, or some others and your security hugely depends on them.
  2. Most people still have weak passwords, so hackers can still brute-force and gain the access to the accounts.

Would it be better if everyone could have a private key (PK) and use that PK to sign in to a lot of services which is way more secure than the password? The good news is, that has now happened with the power of Ethereum and you can now start using your ETH account to sign in and comment on any website that embedded an ETHTalk's widget (and for a username system you can register your username on the ENS domain which basically is an NFT for your profile and you have full control over it)

I strongly believe that we would see a huge adoption about these ENS and Ethereum Single Sign-on concepts in the near future (maybe about 1-3 years from now) and this project is the one that leveraged those ideas and bring them into action, and to make that adoption happen, I'll start using it on my personal website first ๐Ÿ˜Ž

Features

  • Open source ๐ŸŒ
  • ENS (Ethereum Name Service) supported ๐Ÿ˜Ž
  • Sign-in with your non-custodial Ethereum accounts (No Facebook, Google, or Twitter accounts needed ๐Ÿ™…โ€โ™€๏ธ)
  • ๐ŸฆŠ MetaMask and ๐Ÿ”ฅ BurnerWallet supported
  • LaTex supported for commenting ๐Ÿงฎ
  • All the data is stored on Firebase Firestore ๐Ÿ’ฝ

More fun ideas (feel free to contribute)

  • Add verify badge for who have done Proof of Humanity
  • Buy me a beer, send ๐Ÿบ (1x๐Ÿบ = 0.001 ETH) directly within a comment for patronizing the author
  • Use your NFTs as a sticker
  • Fully customize theme (with dark mode supported ๐ŸŒ)

Contribution

How it works?

  1. User connect their wallet to give a public address to the site
  2. Frontend send that public address to get a challenge code (nonce) from the backend
  3. Frontend give the challenge code to the wallet to sign a message with PK ๐Ÿ”‘
  4. Frontend submit that signed message to the backend
  5. Backend received the message, proof validity, and generate a new JWT custom token to frontend
  6. Frontend use that token to sign in (using Firebase Custom Authentication)
  7. Now the user can comment, like, and reply on the web ๐Ÿ˜Ž

Setting up project

  1. Clone this repository
git clone [email protected]:chunza2542/ethtalk.app.git
  1. Install dependencies
yarn # or npm install
  1. Setup your firebase project
  2. Start firebase-api (backend)
yarn firebase-api:start
  1. Setup frontend environment variables
cd packages/react-app && cp .env.example .env && vim .env
  1. Start react-app (frontend)
yarn react-app:start
  1. Experiment and develop your AWESOME ๐Ÿ˜Ž features

Tech stack

  • Frontend: Firebase, React, Antd, scaffold-eth/serverless-auth template
  • Backend: Firebase Cloud Functions, Firestore, Firebase Custom Authentication

Crafted with ๐Ÿงก by @chunza2542

ethtalk.app's People

Contributors

chunrapeepat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.