About DefiFunds

DefiFunds is a decentralized application focused on providing a straightforward and secure way for users to invest in cryptocurrency funds. The primary goal is to streamline the process of investing in decentralized finance by connecting individuals with skilled fund managers. Currently, investing in cryptocurrencies can be a challenging and complex process. DefiFunds aims to simplify this aspect, making it easier for everyone to participate in the world of decentralized finance.

Inspiration

I really liked the idea of letting others do the trading for you and thought that it would be nice to create a dapp on Radix that lets users invest in a fund. I often get questions from others about what cryptocurrencies they should buy and when they should buy/sell them. It would have been a lot easier to say, buy this fund and let your money stay there for some years. Most of my acquaintances only invest in funds and not single stocks/cryptos.

What I learned

I am a 5th-year student studying cybernetics and robotics and have learned many different languages, but never touched Rust before I started learning Scrypto. During the last year, I have got a lot better in both Rust and Scrypto.

How I built it

I started by building the Blueprints (Fund and DefiFunds), and tested them using resim. I first used Radiswap for the swapping methods, but changed them to methods that Beaker.fi had made at a later stage. Beaker.fi was a natural choice since it was the first dapp that was live on betanet. I only had access to the inputs and outputs of those methods and not the code it selves, so I couldn't find an easy way to test them using resim. I deployed it to betanet and tested them there. After I got all the methods to work, I started building functions in javascript that did gateway calls to get all the info needed for the frontend. I didn't have the time or the skills to make a good-looking website, but most of the functions needed for the prices, tvls, etc are made. I have included a Figma link, so you can see how I imagine the website will look like.

Challenges

The Scrypto language itself is quite intuitive to understand. There have been some challenges in finding good information on how to learn Scrypto. However, the main problem I came across was trying to send a specific transaction on betanet, "Withdraw tokens from fund". Both me and talesofbeem (on discord) looked into it, and it seems like there is a bug with Expression("ENTIRE_WORKTOP"). The error message on why the transaction failed didn't help much either XP.

Accomplishments that I am proud of

I am really proud of my specialization project I wrote last semester about the proof of concept of this dapp. You can find it on my GitHub. I am also proud of delivering a dapp for this competition.

What's next for DefiFunds

Build the dapp to production. If you are a frontend dev and want to help me finalize it, feel free to contact me on discord (tobias.eth#4548).

Share this project:

Updates