over budget

C64 Extension Wallet

$19,660.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solution

Concevoir et mettre en œuvre un portefeuille d'extensions modulaires progressives qui facilite l'ajout de nouveaux cas d'utilisation sous la forme de plugins.

Problem:

Extension de porte-monnaie qui offre une expérience souveraine et personnalisée aux utilisateurs et aux développeurs en prenant en charge P2P, NFT, Identity, Voting en tant que plugins.

Yes Votes:
₳ 77,413,110
No Votes:
₳ 12,201,552
Votes Cast:
387

Équipe

  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download
  • download

Detailed Plan

Problem statement :

A cross-browser wallet with a progressive user experience, providing a sovereign, personalized and simplified interaction with the protocol, facilitating the developers' experience by supporting different networks, unifying work environments, and customizing endpoints.

Describe your solution to the problem

Development of a community cross-browser light wallet with a popup format that supports switching networks and unifying all of them within the same tool from the same account, in addition, being able to choose your own trusted endpoints.

Adopt the Connector standard from dcSpark for interaction with dapps and DeFi services.

Detailed plan

<u>About C64:</u>

The C64 project started in April 2021 with a fund5 proposal[0] for a purpose-built desktop wallet to mint signed NFTs, stored 100% on the blockchain. Allowing anyone to create, verify and link identities to digital assets, such as works of art with the artists.

The development started as a cross-desktop wallet[2], with the imminent arrival of smart contracts the project evolved towards the creation of a wallet to be used from the browser to facilitate interaction with websites.

In this way, the wallet improves the user experience, gains versatility and, besides being able to mine NFTs, we can add new capabilities by adapting to the advances and new functionalities brought by the Alonzo era and future ones.

<u>From Minter to Modular Wallet</u>

Thus, we decided to go a step further and expand the vision and capabilities of the wallet, adapting the initial proposal to a modular wallet, where, starting from a basic wallet functionality with a friendly extension user experience, we will establish new functionalities such as support for switching between different networks, the possibility of choosing your trusted endpoints, and being able to add specific use cases in the form of addons, being the 'C64 Minter' the first to be included.

<u>Merging funds</u>

The funds from the fund5 earmarked for the implementation of the wallet will be used in this proposal for the implementation of the more general-purpose wallet(reducing costs on this proposal). The remaining is being used to develop the main objective of the fund5 proposal, the NFTs Minter use case. More details are provided in the "Use of Funds'' section.

In this way, we expand the fund5 proposal while still covering all the goals proposed in it.

<u>Adoption:</u>

The light wallet type, the user-friendly 'popup' format, and the quick installation will make it easy for users to adopt it.

The capacity to easily add new use cases/plugins and the ability to customize endpoints will attract more experienced users.

The testnet support and dapps connector integration will appeal for developers.

phase 0 / 2 months - Base Wallet & Web development:

A. Start developing the light wallet as a browser extension.

  1. Adapt Auro Wallet[3]. Migrate Javascript to Typescript.
  2. In-memory state for backend side.
  3. Redux for state management in frontend views.
  4. Cross-browser support. Chrome, Brave, Edge and Firefox(tentative).
  5. LocalStorage for wallet configuration.
  6. IndexedDb[4] for data persistence and cache.
  7. Multi-lingual support.
  8. Switch-network support for mainnet and testnet from the same account. Use Rxjs to manage events arrays.
  9. Default and customized endpoints for each network, avoiding server saturation.
  10. PIN code security layer.

B. Start landing pages and social media profiles.

  1. Reactjs.
  2. Multi-lingual support.
  3. Server configuration and web deployment. IPFS.
  4. Setup domain/web certificate with Let's Encrypt & certbot.
  5. Twitter account.

phase 1 / 3 months - Basic Features - Modular Architecture and Alonzo support:

A. Continue developing the light wallet.

1.1 Creation, restoration, modification and deletion accounts.

1.2 Send (+metadata), receive and show transactions (+metadata).

1.3 Choose a stake pool of your choice and delegate.

1.4 Design and implement a modular architecture as plugins based.

1.4.1 Integrate the first plugin: C64 Minter(signed & 100% on-chain), already funded from the previous proposal, fund5[1].

B. Native tokens support.

  1. Send, receive and show tokens. Integrate Alonzo Rust SDK from dcSpark - fund5.

phase 2 / 1 months- Working Product:

A. Continue developing the light wallet.

  1. Setup Dandelion default endpoints, for testnet and mainnet support.

Server requirements:

Testnet: 4vCPU 8Gb 20Gb.

Mainnet: 24vCPU 24GB 42Gb.

B. Community:

  1. Start 'on-chain NFT' incentivized challenge.

C. Sustainability:

  1. Sustainability plan for development and maintenance of the wallet. As an addition and alternative to the Catalyst program.

<u>Without the funds from fund7, we cannot guarantee that the next goals will be implemented:</u>

Phase 0:

A (8,9)

Phase 1:

A (1.3, 1.4.*)

B (1)

Phase 2:

B (1)

C (1)

All other goals will continue to be implemented to meet the requirements for the fund5 proposal[0].

Timeline:

We're planning to have all the above phases completed in 6 months, since the funds are received.

KPIs:

  1. Complete data encryption and persistence.
  2. Creation/updating/deleting accounts.
  3. End2End 'Send' simple transaction(Just ada).
  4. Show transaction details(confirmed and pending).
  5. End2End 'Send' transaction with metadata.
  6. End2End 'Send' transaction with native tokens.
  7. End2End 'Send' signed transaction.
  8. End2End 'Create NFT' with IPFS.
  9. End2End 'Create NFT' on-chain.
  10. End2End 'Create NFT' on-chain & signed.
  11. Number github commits.
  12. Participation metrics in the incentivized NFT challenge.
  13. Number of NFTs minted by C64 Wallet.
  14. Number of downloads.

Tracking:

Tracking of project progress and KPIs will be publicly reported every two weeks to Catalyst organizers and the rest of the community through our social media channels.

The team:

Caso as Project Lead. Full-Stack Developer. Cardano Ambassador. Stake Pool Operator. <https://www.linkedin.com/in/jaime-caso/>

Roberto Morano as Advisor and Collaborator. ex-Emurgo DevOps lead. Gimbalabs co-founder. Dandelion operator/lead. <https://www.linkedin.com/in/rcmorano/>

Vicente as Advisor ex-Emurgo Yoroi-mobile, R&D Engineer. <https://www.linkedin.com/in/vicente-almonacid/>

BLOCKING PROBLEM AND EVIDENCES:

Interaction with websites(SCs) through the wallet extension will depend on the availability of dcSpark's implementation of the proposed 'Cardano Connector' standard, funded in fund5[0]

Goals affected by this blocking problem:

Phase 1:

A (5)

The interaction with smart contracts through the extension wallet will depend on the availability of the PAB (Plutus Application Backend) implementation by the IOHK and then by dcSpark[5] to be run from the browser. The dcSpark Dapps connector is not guaranteed yet, but it is tentative.

Goals affected by this blocking problem:

There are no affected goals in the plans for this proposal. It will affect future plans for interaction with webs and dapps.

Future features(not covered in this proposal, tentative for next funds):

- Restore accounts from Yoroi and Daedalus.

- Consolidate funds in the same account.

- Integrate Dapp Connector for smart contracts interaction from IOHK adapted by dcSpark proposal.

- Trezor, Ledger support.

- Plugins repository(audited).

- More use cases as plugins (Identity PGP/Atala Prism, Voting, Native Tokens Minter).

- Staking portafolios.

- Code audit.

Use of Funds:

Extension wallet: Full Stack Developer 40$/h*252h = 10 080 USD

The first month of development will be financed with the 58% of the funds obtained in the previous fund5 proposal (merging and optimizing costs). Funds: 3 520 USD , Total amount: 13 600 USD

Earmarking the remaining funds 2 480 USD to the 'C64 Minter (on-chain+identity)' use case - fund5.

Server costs & other technical infrastructure 1 year, website and endpoints = 1 500 USD

-> Total: 11 580 USD

Demos:

1.

https://drive.google.com/file/d/1nSniQCGOOVCJoJnb1f2JwLe9V34_MACS/view?usp=sharing

- Build and submit transactions.

- Custom endpoints.

- Setup cache with indexedDb and upload and process digital assets.

2.

<https://drive.google.com/file/d/1pceSeW9xbghKMtJLGA8AQPdB0mkCFGgK/view?usp=sharing>

- Metadata support for transactions.

- Frontend: NFT minting + native tokens.

3.

https://drive.google.com/file/d/1D7Cmt2b2fDTS8d_oqr6alW95tiVBbL7z/view?usp=sharing

- Sending native tokens.

- Signing transactions using metadata.

Resources

[0] https://cardano.ideascale.com/a/dtd/C64-NFTs-Minter-on-chain+identity/352588-48088

[1] https://github.com/jimcase/C64-Wallet

Avis des conseillers communautaires (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3 min 24 s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4 min 3 s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3 min 48 s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2 min 16 s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3 min 14 s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3 min 19 s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4 min 59 s
    Darlington Kofa
0:00
/
~0:00