[Completed] JavaScript SDK development Q2-2023

Application Status

Status: Completed on the 1.06.2023, approved on the 11.04.2023, submitted on the 10.04.2023
Last updated: 6.12.2023
Submited by Denis Davidyuk [email protected]
Team: Denis Davidyuk
Approved Budget: 416 hours
Used Budget: 412.04 hours
Planned Delivery:
Previous Application: [Completed] JavaScript SDK development December 2022 – March 2023

Specify the funding category

Open Source Development

Application Title

JavaScript SDK development Q2-2023

Applicant

Denis Davidyuk – GitHub

Value Application

JS SDK is actively used by onboard and community developers. Some use cases raise features that need to be implemented on the SDK side, the same as bugs that need to be fixed. Dependent projects may contribute to SDK and these contributions need to be reviewed. This proposal is intended to solve these requests firstly, to keep the development of dependent projects efficient.

Additionally, there is a set of things that are known to be good to have, the most important of them are:

Definition of Terms

JS SDK aka @aeternity/aepp-sdk is an NPM package that implements basic functionality for web-based aepp to communicate with aeternity blockchain and to access user accounts provided by the wallet.

Status Quo

The 13th release of sdk that should fit the urgent needs of developers is done. There is a clear roadmap for issues “consistent coins representation”, “middleware support”, “signing typed structured data”. Some research is still needed for the others.

Required Work

Once I have enough features implemented or bugs fixed, I would make an official release.

Estimate

I would be working 4 days in a week on this (based on my availability for the last 4 months).

Known Limitations

Although I aim at delivering all proposed features as outlined, there may be some higher priority tasks coming up that need to be worked on, thus not every proposed item is expected to be delivered.

Outlook

SDK should satisfy the demands of projects depending on it. In the same, it should be easy to use, well-documented, well-typed, and built according to the modern standards of JavaScript ecosystem.

Publishment

The work outcome will be published at GitHub - aeternity/aepp-sdk-js: JavaScript SDK for the æternity blockchain and related repositories under ISC license.

Maintainance

Maintenance is part of the proposal and included for the proposed timeframe.

2 Likes

Week 14 (Apr 1 - Apr 9)

Time spent: 28.67

2 Likes

Week 15 (Apr 10 - Apr 16)

Time spent: 11.44

2 Likes

Week 16 (Apr 17 - Apr 23)

Time spent: 35.34

2 Likes

Week 17 (Apr 24 - Apr 30)

Time spent: 46.09

3 Likes

Week 18 (May 1 - May 7)

Time spent: 32.37

1 Like

Week 19 (May 8 - May 14)

Time spent: 45.93

1 Like

Week 20 (May 15 - May 21)

Time spent: 58.40

1 Like

Week 21 (May 22 - May 28)

Time spent: 52.38

3 Likes

Week 22 (May 29 - Jun 4)

Time spent: 19.95

2 Likes

Week 23 (Jun 5 - Jun 11)

Time spent: 10.07

3 Likes

Week 24 (Jun 12 - Jun 18)

Time spent: 42.00

1 Like

Week 25 (Jun 19 - Jun 25)

Time spent: 13.21

2 Likes

Week 26 (Jun 26 - Jun 30)

Time spent: 16.19

2 Likes

Final report

Overall spent 412.04 hours out of 416 hours available. Here is a list of issues closed in this grant, the same for merged pull requests. The most noticeable changes are:

There is significant progress regarding some of the objectives defined at the beginning, but the others were postponed to avoid making breaking changes.

Implement the ability to sign typed structured data

This task is almost done, the implementation needs to be reviewed.

Middleware support

Working on this, I defined base structures to communicate with middleware over WebSocket and HTTP API. Some types are still missing, so their interfaces are not stable yet.

After finishing the 13.1.0 release I’m planning to switch to tasks from the above that require breaking changes.

2 Likes