funded

Cardano JS API

$5,000.00 Received
$15,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Impact
Solution

Develop library on top of cardano-graphql and cardano-serilazation-lib, with transparent methods to work with Cardano cryptography & data.

Problem:

At this point, only an in-depth study of how Cardano works allows you to make the simplest Javascript web application.

Yes Votes:
₳ 441,200,080
No Votes:
₳ 24,988,602
Votes Cast:
2592

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

CARDANO-WEB3.JS BRIEF

Almost all websites or web applications use the JS programming language, and at this point, to build a web application for Cardano, you have to learn a lot of complicated things - how addresses are generated, how to get addresses funds amount, what is derivations, how to collect transactions data, what is UTXOs, setup a node, create abstractions for cli and many (dozens) other complicated things. We want to make a library that will simplify this process and allow even novice web developers to write their own applications, such as lightweight wallets, marketplaces, simple explorers, and more.

All you need to do is specify the endpoint (for example, there are already saas services that provide this graphql api, dandelion.link or blockfrost.io), and call the necessary methods to get the data - and the library will do the rest.

 

EXPLANATION

Cardano-graphql is a tool that allows to get data from a database which is collected from blockchain data. In other words, it is the API for the Cardano blockchain node - here we can get raw data about the network status, addresses, pools, and everything else that is stored in the Cardano blockchain. We can also send transactions through this layer. It is being developed by the Cardano team.

Cardano-serialization-lib is a low-level library that allows to generate cryptographic entities for Cardano - mnemonics, private and public keys, staking keys, certificates, addresses, and hashing it all.

Error handling, getting addresses data from the blockchain, managing UTXOs inputs and outputs to build a transaction - this is a very large part of the work in each application - all that will be in our library, which will lower the entry threshold for Javascript developers to develop applications communicating with the Cardano blockchain.

Our task is to write a wrapper that hides all this magic under the hood - the developer will need to initialize the library, specify the graphql endpoint and use documented methods that will make working with the blockchain easy.

 

CODE EXAMPLE (DEMO)

cardano-ray implementation: https://pastebin.com/z3tPkSpU without cardano-ray: https://pastebin.com/cYz6xpG8

 

TEAM EXPERTISE

Team lead: https://www.linkedin.com/in/nicktabolich/.

We are a small team of javascript developers, doing full-cycle integration of various web systems for clients from all over the world. We are also developing our own product - https://visualbuilder.cloud.

We've been experimenting with the Plutus Platform for a few months now, and we also participate in the Plutus Pioneer Program. We are also actively developing a multifunctional wallet for Cardano - RAY Wallet.

There are currently two developers working on the project and we are looking for funding to expand the team.

 

HOW PROPOSAL IMPACTS THE CHALLENGE

This will significantly lower the entry level of JS developers to develop applications on Cardano. The Javascript developer community has more than ten million people and continues to grow. JavaScript is the most popular language for building Web applications.

 

ADDRESS THE CHALLENGE QUESTION

Develop a well-documented Javascript SDK (managing Cardano cryptographic entities / working with Cardano blockchain data via Cardano-grpahql). Web3.js analogue for Ethereum.

 

DEFINITION OF SUCCESS

3 month: public release 6 month: library used in popular web-apps 12 month: most popular js-library for Cardano

 

BUDGET REQUIREMENTS

Total hours: 300-400 hours * 40$/h Devs: 1 (or more) developer Project timeline: ~2 months

 

PUBLIC LAUNCH DATE

Q2-Q3 2021

 

WIP & UPDATES

https://github.com/ray-network/cardano-web3.js https://github.com/ray-network/ray-wallet/blob/main/src/utils/ray-cardano-crypto.js https://github.com/ray-network/ray-wallet/blob/main/src/services/api/cardano.js https://rraayy.com/updates

Community Reviews (1)

Comments

Monthly Reports

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

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

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

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