funded

Open Source Fungify

$47,727.00 Received
$75,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
ソリューション

Open source Fungify, a complete and advanced dApp, to make several complex contracts available for anyone to use as a launchpad.

Problem:

参考になるPlutusの例、特に複雑なコントラクトを持つdApp全体の例は非常に少ない。これは開発の妨げになります。

Yes Votes:
₳ 39,878,597
No Votes:
₳ 14,987,389
Votes Cast:
139

This proposal was approved and funded by the Cardano Community via Project F8: Open Standards & Interoperability Catalyst funding round.

  • download
  • download

[IMPACT]

The Cardano ecosystem is sparse with dApps, largely due to limited dev tooling and example code. SundaeSwap and other DEXs worked tirelessly to produce performant contracts but have kept their contracts closed source to ensure they realize the fruits of their labor. The ability to keep contracts closed source, which is not an option on Ethereum, will stifle further ecosystem growth if this practice becomes the norm. Working from examples is massively important in the development process. The open sourcing of complete dApps will be a catalyst for exponentially accelerating developer activity on Cardano.

The first open sourced Plutus code will likely be used by many others as the basis for their projects so it’s crucial it’s of high quality and audited. In the early days of computer programming there was a book that contained the only example for creating a windows driver. The sample code snippet was directly copied by every developer but it had a critical bug that caused major outages.

Fungify is an NFT-FT pooling protocol, akin to NFTX on Ethereum, with multiple intricate and optimized contracts. There are contracts for the NFT-FT exchange protocol, an emission redirector, and a fee farm. Fungify, a homegrown project developed throughout the past year, is one of the most advanced dApps currently being built on Cardano - all without VC funding. It would be massively beneficial for the ecosystem if the code was made open source, but we don’t feel comfortable making the code publicly available until it’s been thoroughly tested and audited. This proposal is for funding a third-party audit and a bug bounty program so we can confidently open source the Fungify contracts.

The price of a full security audit is determined on a case by case basis, based on the size and complexity of the code. We estimate that a comprehensive security audit will cost around $50k. The funds remaining after the audit, which we expect to be around $25k, will be used to launch an initial whitehat bug bounty program.

To learn more about Fungify, check out our docs: https://sicks0sicks.gitbook.io/fungify/

To keep track of progress and participate in the discussion, hop into our discord: https://discord.gg/78grvnM4na

Open sourcing Fungify will provide a foundation for plutus developers to build upon. The high quality and audited dApp code can be used as scaffolding for other developers to kickstart their projects. The knowledge acquired in building a performant protocol on the eUTxO model will be shared. Open source code is under appreciated in accelerating developer activity on a chain and we believe this to be a catalyst for growth in the coming months.

The first open sourced code on Cardano is likely to be copied and built upon by many, if there’s a bug in the base open source code this could be a systematic danger. We believe heavily testing the code, acquiring a comprehensive security audit, as well as a whitehat bounty program, will minimize this risk. This stringent approach to security will not only ensure the safety of the Fungify protocol, but countless dApps that will be built using our code base as a reference.

[FEASIBILITY]

In the next 0-3 Months

  • Fungify V1 testnet
  • Extensive tests written
  • Code audit started

In the next 3-6 Months

  • Code audit completed
  • Fungify V1 launch
  • Supporting documentation written
  • Contracts are open sourced

Audit = $50k

Bug Bounty = $25k

Total = $75k

Ben - Co-founder Fungify, Haskell Dev, First Cohort Plutus Pioneer

Chris - Co-founder Fungify, Haskell Dev, First Cohort Plutus Pioneer

First Cohort Plutus Pioneer Program class photos:

<https://pool.pm/asset1yvdd8q7pw0jt5tfj00zuddmxvy44fzcfqzms5n>

<https://pool.pm/asset124yw3yvrty84wmxcvcp6lfkj2056hl7at0pzql>

[AUDITABILITY]

Progress of open sourcing Fungify can be measured through the number of forks and clones of the open source repo.

Progress of Fungify development can be measured through routine updates and the expansion of Fungify NFT-FT pools.

The success of open sourcing Fungify will include accelerated developer activity on Cardano and the spread of best practices being implemented by new projects. It would be a success if at least 3 projects are able to use our open source code as a starting point and 0 vulnerabilities are exploited.

The success of the Fungify protocol will include increased liquidity and yield for NFTs on Cardano. The success of the Fungify protocol can be measured through the yield generated for liquidity providers - yield is a direct correlation to the sustainability of pools.

We we're funded in the previous Fund 7 to seed initial liquidity pools: https://cardano.ideascale.com/c/idea/384377

コミュニティ・アドバイザー・レビュー (1)

Comments

Monthly Reports

Looking forward to Vasil!

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
2/15/2023
Attachment(s)
Comments 0

Login or Register to leave a comment!

Excited for Vasil!

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
4. After 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

Excitited to upgrade to the vasil era!

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
3. In the next 6 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

This month we began to work on integrating the changes with the vasil hardfork into our smart contract code. CIP 31 is particularly useful to us. We are building our smart contract code to be completely decentralized so we have a few utxos that contain state for the entire contract. The ability to have read only utxos is huge for us because we can have a much higher level of parallelization since we dont have to consume the utxos that contain all the state, for all the transactions to some of our endpoints. Some things need to be redesigned, but the final design will be much cleaner and simpler in the validator script, so super excited about that. Our front end is in a good state now and should be mostly ready to plug into our on chain contracts when they are redesigned.

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

This month i worked on creating the offchain code in javascript so that we can build transaction alongside our frontend. We decided to use the lucid library to build our transactions as it provides a nice abstraction on top of the serialization lib. Will attach some code snippets of some of the offchain code.

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

This month i again worked on the offchain code. I learned how to use the cardano multiplatform lib to serialize / deserialize the plutus data the the contract needs. I will attach some screenshots

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
3. In the next 6 months
Comments 0

Login or Register to leave a comment!

This month i continued to work on porting much of the offchain code into typescript and also updating it to take advantage of the vasil error, mostly CIP 31, which allows a lot of our endpoints to scale in constant time because they dont need to consume a utxo anymore that contains information about the state. I have been working with the cardano multiplatform lib

Disbursed to Date
$47,727
Status
Still in progress
Completion Target
2. In the next 3 months
Attachment(s)
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分 24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分 3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分 48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分 16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分 14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分 19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分 59秒
    Darlington Kofa
0:00
/
~0:00