Skip to content
⚫

⚫ 0xcrypto.io

⚫ 0xCrypto.io is a platform enabling artists, creators, programmers, businesses and others to publish their work and get paid in crypto.

Created on 27th November 2021

•

⚫

⚫ 0xcrypto.io

⚫ 0xCrypto.io is a platform enabling artists, creators, programmers, businesses and others to publish their work and get paid in crypto.

The problem ⚫ 0xcrypto.io solves

⚫ 0xCrypto.io is a platform enabling artists, creators, programmers, DAOs and others to publish their work and get paid in crypto. It is essentially the web3 implementation of Pateron.

Web2 competitors: https://www.patreon.com/ & https://www.buymeacoffee.com/

⚫ 0xCrypto.io allows users to register pages (using Polygon MATIC) with a click of a button. This page created by a user is essentially a smart contract on Polygon, therefore, this page cannot be modified and duplicated by others.

Technical but not so Technical Explanation of a ⚫ 0xCrypto.io page

  1. When a user creates a page, a contract is created comprising of the owner, membership fees etc.
  2. A page will have an address just like a wallet (Looks something like 0x75de244d3...).
  3. A supporter or customer can become a member of the page created using MATIC on the Polygon Network.
  4. The page contract automatically pays out the creator of the page. Works like magic!

Memberships

Supporters/Fans of a page can become a member and pay using Polygon MATIC. Becoming a member of a page costs 1 MATIC and the membership is subscription-based. It is valid for 1 month. In future updates, users will be able to post members-only content.

NOTE: The membership is validated using the Page.sol smart contract.

Publish Content for Supporters

Users can publish content on the website for their supporters. Content published on ⚫ 0xCrypto.io is stored on ipfs. This makes ⚫ 0xCrypto.io more decentralized.

Example Page on ⚫ 0xCrypto.io

https://0xcrypto.io/page/0x0047bc316db82844221DBDb675530003B58BfECE

Example transaction of funds made to a page

https://polygonscan.com/tx/0x5a37a09b0c5b82dfed1ce013200b2fb6588073407ecd29d7b3e1e7538e1a813e

Documentation

https://docs.0xcrypto.io/

Challenges I ran into

Challenge #1

Setting up web3 on the latest Angular gives errors as fs, crypto and other required packages are no longer supported. Even
the polyfills for the package are not set up.

Solution

I directly downloaded the web3.min.js file and stored it on my server, then I mocked the window object in angular (to avoid type issues) and then accessed the web3 functions I needed.

Challenge #2

As I have included various security steps each both on the frontend and backend. Like verifying memberships, ownerships of pages. the performance was impacted.

Solution

To avoid major performance issues on the website. I make several concurrent calls to the backend while loading in already public information on the website giving it the illusion of speed.

Challenge #3

As you know I have implemented an ipfs solution for storing content. Users can add attachments to their contracts as well and these attachments with metadata are stored on ipfs. As I was building membership I noticed there is no membership focused ipfs solution. I could not encrypt data say for a particular signature and keep it valid for a month.

Solution

I have built a prototype solution on my backend which is not live yet but is almost ready to be shipped.

The steps it takes are as follows:

  1. Take a signature from an address
  2. Derive address from the signature
  3. Validate membership and validity date from the smart contract. (this is the smart contract 0xcrypto uses with the required maps for this check https://github.com/0xcrypto-io/contracts/blob/main/Page.sol)
  4. Only return the ipfs hash and metadata based on this check.
    This way only members can gain access to the ipfs content as it is very unlikely that a malicious person will be able to guess the ipfs hash.

Discussion

Builders also viewed

See more projects on Devfolio