not approved

@chainlib 0.0.x->1.x & nami tests

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

Fully integrate CICD pipeline. Write jest tests and integrate them into the pipeline. Create a mock dapp connector (nami) for unit tests.

Problem:

Current the chain-lib projects are 0.0.x. Make necessary updates to projects, which make programming with cardano easy, production-ready.

Yes Votes:
₳ 17,417,588
No Votes:
₳ 20,225,216
Votes Cast:
93

Detailed Plan

What is chain-lib/cardano-api & chain-lib/cardano-components?

Chain lib is an open-source blockchain library monorepo. That means that multiple related projects will all be worked on in this repository.

Cardano-api is a wallet API that follows CIP-30 dapp connector. An easy analogy is that it is building the truffle sweet, for Cardano. It is difficult for a developer that is not intimately failure with Cardano and message signing to use CIP-30. Therefore this API also exposes several functions to staking and transactions easier.

Cardano-components are web-components (ie you can use them in any framework, react, vue, angular, etc), that utilize the Cardano blockchain. Currently, there are components for initializing cardano-api, asking the user for permission to connect to your wallet, sending transactions, and staking. You can find more proposed components in the dapp funding section. Every new component is used to update, add to, and test cardano-api.

Overview

Current cardano-api and cardano-components are still in a testing state. Things can change, which makes it difficult for companies to utilize. Also, there is not a good ci/cd pipeline that allows for other developers to contribute to the project. In order for it to be production-ready, two main features need to be added.

CI/CD Pipeline

Currently, chain-lib uses Bazel (an open-source framework for monorepos built by google which speeds up builds 3x / 10x). This works well, but it is all local. In order to make this ready for any developer to add to the project (Like MUI) this needs a good CI/CD pipeline to run the Bazel builds and tests. We need to integrate Github actions with Bazel to automatically run tests and deploy new versions of the code. Otherwise, any developer could push code to master that contains bugs, issues, or malicious code.

Testing framework & CIP-30 (nami) testing framework

It is almost impossible to write adequate unit tests currently because there is not a good way to test CIP-30 complement frameworks (nami). This will be for the development of a mock cip-30 compliant framework, and then the integration of unit tests, to test every function and make sure it is working. Without this feature, anyone could update code, and not know if they made something that works, or is broken.

Definition of Sucess

Within the first 3 months, a nami-testing framework will be developed and open-sourced. Within 6 months cardano-api and chain-lib will be updated to 1.0.0.

Budget Breakdown

CI/CD pipeline = $50 USD * ~100 hrs

CIP-30 (nami) test framework = $50 USD * ~80 hrs

Unit Tests = $50 USD * ~50 hrs

Taxes = $2865.8 USD

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00