Working Node/Javascript API wrapper

  • Project Name

    Type of Project

    July 10, 2017 - Ongoing

    Funding Amount Requested

    Eugene Li
    George Kushnir

    Project Description - Summary
    When I first started with Ark, there was an “ark-api” node module to work with Ark using javascript/node.

    After ~10 hours of deciphering the incorrect documentation and trying to figure out why transaction sending wasn’t working, we pinged @fix and he realized “ark-api” wasn’t marked as deprecated and nobody should be using it since it was extremely outdated and using an insecure endpoint that sent out private keys.

    Once that was deprecated there was no longer a node/javascript module for developers to work with Ark. Which is ironic because Ark itself is written in node/javascript.

    And since I was already using the module in my own projects I decided to fix it up myself.
    What I did was:

    1. Fix up the documentation, made it cleaner and fixed incorrect information
    2. Rewrote the code to be cleaner and easier to work with
    3. Changed how transactions were created so it no longer blasted out private keys and broadcast txs to peer nodes to ensure delivery
    4. Added support for devnet

    I made a pull request for my rewrite to be merged into the official “ark-api” node module and it’s currently under review.

    I plan on continuing to work on it and provide support for it until it gets superceded by ark-ts (a typescript module in the works).

    Project Sponsor
    biz_classic delegate team

    Project Plan/Timeline
    Phase 0 - Bashing my head against the wall trying to figure out why ark-api wasn’t working (0 ark)

    Phase 1 - Figured out transactions were being sent insecurely and started refactoring the code to wrap arkjs to create transactions locally and broadcasting them (500 ark)

    Phase 2 - Refactor entire ark-api project. Remove a lot of redundant code. Restructure the project to make it easier to maintain. (1000 ark)

    Phase 3 - Fixing documentation, readd support for the endpoints I removed when simplifying the project as well as providing future support. (500 ark)

    I’m currently at phase 3, and you can see the progress/history of my work in my PR here:

Looks like your connection to Working Node/Javascript API wrapper was lost, please wait while we try to reconnect.