Using decentralized identities with Web 2 to create a no login required website. Built using the Handshake blockchain.

Overview

Blending Web 2/3, is this Web .666? ( •̀ᴗ•́ )و ̑̑

Learn more by joining the Handshake Discord Community

applause is a platform I built using centralized web technologies in combination with decentralized identity blockchain. The result is a website that requires no login or signup of any kind, and instead, lets users participate by authenticating their actions against the key associated with their name on the Handshake blockchain.

Live

You can see this live at https://applause.chat/.

Why

I was browsing some of the Handshake related projects on Github and saw a recent pull request on Kyokan's Bob Wallet Extension. Highly interested, I downloaded and built the branch and started building this site.

Use Cases

There are several use cases:

  • Authenticated paste bin
  • Easy blogging
  • Petition
  • Transparent voting
  • and more!

You can embed images by using the data-url with markdown image syntax.

On blending Web 2 and 3

A lot of Web3 projects are geared around making money. I'm more interested in decentralization and sovereign data ownership, so I'm exploring how we can use these technologies for better purposes.

Technologies Used

  • nodeJS + Express + Session + CSRF + moment
  • mySQL
  • Handshake
  • Linux

Installation

  1. Clone
git clone https://github.com/publiusfederalist/applause
  1. Install npm packages
cd applause
npm install mysql csurf express express-session hs-client hsd moment
  1. Setup and install mysql

  2. Setup an 'applause' db and a mysql user with access to the 'applause' db and setup these tables:

CREATE TABLE POSTS (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  user VARCHAR(253) NOT NULL,
  message LONGTEXT NOT NULL,
  signature VARCHAR(89) NOT NULL UNIQUE,
  timestamp INT NOT NULL
);
CREATE TABLE APPLAUSE (
  aid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  tid INT NOT NULL,
  user VARCHAR(253) NOT NULL,
  signature VARCHAR(89) NOT NULL UNIQUE,
  timestamp INT NOT NULL
);
  1. Setup iptables forwards
#!/bin/sh
iptables -t nat -F
iptables -F

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
iptables -t nat -I PREROUTING --src 0/0 --dst x.x.x.x -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -I PREROUTING --src 0/0 --dst x.x.x.x -p tcp --dport 443 -j REDIRECT --to-ports 8443
  1. Get let's encrypt certs and place in the ssl folder

  2. Setup secrets files db.secret for the database password, hsd.key for the hsd api, and session.password for the http session.

  3. Setup a fullnode Handshake daemon

  4. Run node server.js

Copyright and License

MIT Licensed

You might also like...

Decentralized video-sharing social media platform, built using Lens protocol. 🌿

Decentralized video-sharing social media platform, built using Lens protocol. 🌿

Lenstube Decentralized video-sharing social media platform. lenstube.xyz About Lenstube is a decentralized video-sharing social media platform, built

Jan 1, 2023

Decentralized Social Media. Built using Next.js. Web3 integration with Moralis, Metamask and Ethers.js. Also uses Lens Protofcol to get the profile data.

DecentraGram Decentralized Social Media. Built using Next.js. Web3 integration with Moralis, Metamask and Ethers.js. Also uses Lens Protofcol to get t

Dec 20, 2022

An interactive Bitcoin tutorial for orange-pilled beginners. Illustrates technical Bitcoin concepts using JavaScript and some Bitcoin Core RPC commands. Programming experience is helpful, but not required.

An interactive Bitcoin tutorial for orange-pilled beginners. Illustrates technical Bitcoin concepts using JavaScript and some Bitcoin Core RPC commands. Programming experience is helpful, but not required.

Try Bitcoin Try Bitcoin is an interactive Bitcoin tutorial inspired by and forked from Try Regex, which is inspired by Try Ruby and Try Haskell. It il

Nov 25, 2022

Digital Identifier is a secure, decentralized, anonymous and tampered proof way of maintaining and verifying all essential identity-based documents to create a unique digital identity of a person.

Digital Identifier is a secure, decentralized, anonymous and tampered proof way of maintaining and verifying all essential identity-based documents to create a unique digital identity of a person.

Digital Identifier 🧐 To design and develop a secure, decentralized, anonymous and tampered proof way of maintaining and verifying all essential ident

Dec 17, 2022

Decentralized Twitter prototype built with Polygon, GraphQL, Next.js, Ceramic, Arweave, and Bundlr

Decentralized Twitter prototype built with Polygon, GraphQL, Next.js, Ceramic, Arweave, and Bundlr

Titter - Web3 Social chat beta as fuck 🛠 Built with Next.js, Arweave, Bundlr, Ceramic, GraphQL, & Polygon How it works This is a working prototype of

Dec 14, 2022

Lenster is a decentralized, and permissionless social media app built with Lens Protocol 🌿

Lenster Decentralized, and permissionless social media app 🌿 lenster.xyz » Discord • Issues 🌿 About Lenster Lenster is a decentralized, and permissi

Jan 7, 2023

Use pulsar to make custom trading strategy that uses Flashloans at low cost. No contract deployment required.

PULSAR Pulsar is a contract that will let you execute custom call on the blockchain and let you make use of the Flasloans in your trading sequences. Y

Jun 6, 2022

Easiest way to build documentation for your project. No config or build required, hosted on @netlify.

Easiest way to build documentation for your project. No config or build required, hosted on @netlify.

Hyperdocs is the simplest way you can create documentation for your project. It blends the best of all the other documentation tools in one. Hyperdocs

Dec 22, 2022

The cloud computing part required by the Rebage application ☁

Rebage - Cloud Computing The cloud technology used in Rebage Powered by: Google Cloud Platform, offered by Google, is a suite of cloud computing servi

Sep 25, 2022
Owner
Publius Federalist
[email protected] - One for All
Publius Federalist
Qwerty is the first social website focused on connecting students with similar classes and gender identities

?? Qwerty ?? Qwerty is the first social website focused on connecting students with similar classes and gender identities. To get started simply input

Benson Liu 3 Oct 21, 2022
Base Rails app that includes login, social login, homepage, and basic model for serving as a scaffold app.

Rails7Base I created the Rails7Base as a scaffold application. Countless times, I had to create apps that must have the following features: Login syst

Chim Kan 14 Jul 2, 2022
Input a list of Handshake top-level domains, outputs names sorted into 4 arrays: available, registered, reserved, or invalid.

name-check A simple NodeJS package that, given a flat list of top-level domain names, queries the Handshake (HNS) blockchain in order to classify each

Neel Yadav 2 Jan 8, 2022
This is a decentralized Amazon clone, built on the blockchain

The project is a Decentralized version of Amazon, built on the blockchain. Which gives users the ability to purchase and sell items without the involv

Nnam Darlington 3 Jun 27, 2022
Dfunds is a decentralized fundraiser and NFT minter application built on Conflux blockchain with ChainIDE

Dfunds is a decentralized fundraiser and NFT minter application built on Conflux blockchain with ChainIDE. Dfunds was inspired by Conflux Labs & ChainIDE Hydra Developer Bootcamp. It was built to solve the problem of individuals and foundations in need of funds.

Paschal 3 May 16, 2022
Using a Decentralized Application (DApp) to Sell artwork on the Ethereum blockchain with smart contracts written in Solidity.

Decentralized Applications For Selling Limited Time Artwork This repository houses the Solidity, JavaScript, and HTML code for a Decentralized Applica

Keyan Ahmadi 4 Mar 20, 2023
ChainLook is a decentralized blockchain analytics platform based on TheGraph and IPFS.

ChainLook https://chainlook.xyz ChainLook is a decentralized blockchain analytics platform based on TheGraph and IPFS. You can create beautiful widget

Saleel 11 Nov 21, 2022
HackMIT 2022. 2nd Place in Blockchain for Society sponsored by Jump Crypto. A revolutionary web application that leverages machine learning and blockchain technology to improve the crowdsourcing experience!

?? Wikisafe ?? Wikisafe is a revolutionary new crowdsourcing web application that innovates the process of crowdsourcing information. This application

Benson Liu 5 Dec 8, 2022
It is a very basic implementation of how blockchain works, mainly how the bitcoin blockchain.

How to run this program npm install node core/blockchain.js What is this It is a very basic implementation of how blockchain works, mainly how the bit

Anish Jain 12 May 9, 2022
This Application provides basic authentication features like you can register and create account and then login and access your profile.

Authentication API This Application provides basic authentication features like you can register and create account and then login and access your pro

Rohan Kulkarni 1 Jan 17, 2022