completed

Bip32Ed25519 pure JS implementation

$25,000.00 Received
$25,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Problem:

<p>Cardano cryptography libraries are available in Rust & Haskell. There is no easy way to build light wallet functionality for web and mobile</p>

Yes Votes:
₳ 151,762,286
No Votes:
₳ 20,818,406
Votes Cast:
857

This proposal was approved and funded by the Cardano Community via Project F6: Developer ecosystem Catalyst funding round.

Detailed Plan

<u>###################</u>

<u>#What is Bip32Ed25519?</u>

Cardano uses HD wallet implementation based on the key derivation scheme of Bip32Ed25519, which is published by IOHK researchers. All of the wallets you have used for ADA, every one of them generates your ADA addresses based on this cryptography. The reference implementation of this spec is available only in Haskell, and Rust. Most of the wallets use either of these packages compiled in WASM, or Emscripten to be used in browsers.

<u>#Why do we need a JS version?</u>

  • It is difficult to contribute to Rust or Haskell libraries for developers
  • It is difficult to use these compiled libraries in Nodejs, browser, and specifically ReactNative/NativeScript or other cross-platform mobile apps
  • A lightweight, non compiled library will be very useful for devs building extremely lightweight, and smaller apps, that only need to generate Cardano addresses, or just sign a message (transaction hash)
  • This is a low-level package that will be used to build a Cardano wallet library in pure JS.

<u>#What can a developer do with this package?</u>

Developers can create super lightweight functionalities into the apps for signing transactions, generating addresses. This is a low-level package that is a pillar for all the JS-based tooling on Cardano cryptography.

We will be building a Cardano serialization library in pure JS, which will use this package for cryptography-related functionalities. Which in turn will be used by many dapps building on Cardano for executing frontend level logic in browser and extensions and mobile apps.

<u>#Who are we?</u>

We are the company behind the Cardanoscan explorer, the widely used Cardano blockchain explorer.

  • We have been funded in the catalyst for testnet explorer and delivered it successfully https://testnet.cardanoscan.io/
  • We are also funded for the Cardano networking library in JS, which is currently being developed as per the plan

Our fund 6 proposals for a wallet library in JS, that will utilize this package. <https://cardano.ideascale.com/a/dtd/Cardano-Wallet-lib-in-pure-JS-TS/370043-48088>

We have already worked on this package and a pre-production implementation of this is being used by our wallet in testnet. Hence, we are confident that we can deliver a production version, test it and document this package and do necessary upgrades as part of this proposal.

Github: https://github.com/StricaHQ

Twitter Handles

Company: @StricaHQ

Ashish: @ashisherc

Cardanoscan: @cardanoscanio

<u>#Deliverable</u>

  • Fully tested library with test suit and documentation.
  • License - Apache 2 (Opensource)

<u>#Typhon Wallet</u>

Launching a testnet wallet from the team behind Cardanoscan, which utilizes the pre-production Bip32Ed22519 JS package. We are very proud of this wallet release as the wallet is built from scratch using fully in-house developed libraries, which means it does NOT use rust serialization lib nor Haskell compiled packages used by other wallets.

<https://testnet.typhonwallet.io/>

<u>#Timeline</u>

We have a pre-production version being used in testnet already, we are confident to deliver this library after rigorous testing and doing necessary upgrades for use in production. We will be able to deliver the package in 15-20 working days from the approval of the funds.

<u>#Budget</u>

  • Developer salary - 1 x 20,000 USD
  • A one-time maintenance fee (we will maintain this package forever) - 5000 USD

Total Funds Required - 25000 USD

Avis des conseillers communautaires (1)

Comments

Monthly Reports

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