Description

Blossym is a platform for fans to donate to creators they want to support and for creators to automatically earn yield on those fan donations, all in one place. Blossym enables uncensorable, easy donations with no middle-men taking a cut so that fan donations directly reach their favorite creators. Fans donate to their favorite artists, musicians, podcasters, writers, journalists, and other creators using Ethereum, which is then swapped into USDC and deposited into AAVE (creating aUSDC tokens). Creators can view vital information about their aUSDC balance, recent fan ETH transactions, as well as “Cash Out”, burning the aUSDC tokens and turning them back to USDC. Fans have the opportunity to select several influential creators on the home page, as well as access the fan donation box directly from the creator via a URL. They then select the amount of ETH they want to donate and send it to the creator. Creators can view their current aUSDC balance, aUSDC interest rate, and their estimated future earnings (in 1 month, 6 months, or a year). They can also view the 5 most recent ETH transactions from their fans, as well as share their Fan donation box to either Twitter or Telegram, or by copying the URL. In the future, we plan to allow creators to choose among different investment and asset allocation options as well as allow creators to convert their USDC into USD. Additionally, we want to provide even more information to the creator, such as a chart to easily view balance changes. We also plan to enable fan donations in different cryptocurrencies.

Blossym showcase

How it's made

We built our app using React, Truffle, Web3.js, Web3Modal on the front end and Solidity to write our smart contracts. We bootstrapped our webapp using Truffle React Box. We gathered recent transactions from Etherscan’s API, Ethereum’s current price from Coingecko’s API, and aUSDC interest rate from Alethio’s API. We host our webapp on Heroku through Continuous Deployment. We set up a GitHub action to check our branch builds for linting and formatting, as well as ensuring that packages are installed properly. We use prettier for formatting our JavaScript code and solhint for checking our Solidity code. For our UI, we used React Bootstrap using the Bootswatch Cyborg theme for dark mode. On the smart contract side, we used the Uniswap V2 Router contract for swapping fan’s ETH for USDC. The Aave V2 LendingPool contract to allow fans to deposit the converted USDC into creator’s wallets, and to allow creators to withdraw aUSDC for USDC. We used Infura to connect to Kovan and deploy contracts. We wrote a smart contract to bundle the Uniswap swap from ETH to USDC and depositing USDC into Aave’s LendingPool for aUSDC, so fans only need to perform one transaction. Our smart contracts are deployed and running on the Kovan testnet. Logo attribution:

Icons made by bqlqn from www.flaticon.com

Technologies used

EthereumSolidityUSDC