Inspiration

The Blocq☎️book addresses the need for a decentralized contact management system of EVM wallets. We create and curate a decentralized, user-owned contact DB, upwards-compatible for integration with interaction-based EVM dApps.

What it does

We ship a fully-awesome web-3 app for retrieving transactions, contact management, instant messaging and peers2peer file transfer. Built by a team of 🌳 developers - Florian Wolf , Julian Perassi & Reshma Shaik, this project lives up to the promise of decentralized WEB3. Your contact-data is 💯 owned by you and upwards compatible, for when you want to import your contacts to any interaction-based w3b-app (Metamask, XMTP, etc.). To launch this rocket of an app, connect your Metamask wallet, and voila, your are ready for your interplanetary adventure! All your transactions have been fetched and you can now to chit-chat with your peers the decentralized way !

How we built it

While the backbone of the blockbook is the contact DB, we ship the Blocqbook with 3 g-suite features to demonstrate how easy extension can build on our contact DB.

This is made possible by the vibrant Ethereum ecosystem. We used the following services and protocols:

Covalent

The Blocqbook uses the Covalent API to fetch transactions from the blockchain. All transactions are displayed in the transactions tab of the app. We display the token-balances of 13 chains in the profile section, namely -

Ethereum Mainnet
Kovan
Polygon
Polygon Mumbai
Binance Smart chain
Fantom
Fantom testnet
Arbitrium
Arbitrium Rinkeby
Avalanche
Avalanche Fuji
Harmony
Aurora

Ceramic

Ceramic is our go to option for database as we wanted the app to be Web 3.0 and not Web 2.5 . Ceramic uses IPFS (mentioned below) on the backend. We use Ceramic to initialize a database for every wallet registered. Users can connect their wallet and choose to link their pre-existing DID or get a new one. This way, all user data is stored in the blockchain. Blocqbook provides you the full data-driven web-experience, while collecting zero of your data. Check-out our Ceramic Cook-Book.

XMTP

We use XMTP to enable decentralized messaging across wallets. To chat with an address, navigate to the 'Messenger' tab on the sidebar and Initiate a conversation by pasting your peer's address in the input area & hit the arrow button. Another way to initiate a conversation is to save a contact & then click on the chat icon in the contact card.

IPFS

IPFS is awesome! The Blocqbook 💙 IPFS and uses it for decentralized, interplanetary file sharing, while saving you the hassle of juggling with CIDs. Navigate to the File Transfer tab & drop your files with the receiver's address or you can click on the IPFS icon on the receiver's contact card. The file is uploaded to IPFS and the CID is sent to the receiver via messenger powered by XMTP. Storage intensive contact data such as contact avatars are stored on web3storage.

Polygon & The Graph

The Blocqbook's smart contract is deployed on Polygon Mumbai and emits an event every time an address is tagged with a public tag ( such as - scam or airdrop ). Our The Graph subgraph indexes the events. All the addresses that have been given a public tag are now on the blockchain and can be graph-queried from The Graph api. Possible use-cases are fraud detection & address identification. We build this feature in the hope to contribute to a safer and more transparent web3 🤍

Contract : 0xde4d7f0a42aa7df311b3cc18ef5231f501168695

Subgraph : Polygon

Challenges we ran into

While initial enthusiasm is high in all Blocqbook users, we struggle to bind them to use our dapp regularly.

What's next for Blocq☎️book

  • Blocqbook as mobile app
  • Blocqbook as Chrome extension
  • You have suggestions/ideas? We'd love to hear from you, comment bellow ⏬📜

Built With

  • ceramic
  • covalent
  • ethersjs
  • ipfs
  • nextjs
  • poap
  • polygon
  • react
  • redux
  • tailwind
  • web3storage
  • xmtp
Share this project:

Updates