on master help sign in
Create eyre-noun-channels.md
commit4678b735c69f09f2f582d2cfa61e91072ccb9fb1 authoralangalis <116312511+alangalis@users.noreply.github.com> dateThu 26 Jan 2023, 15:05 (4 years ago) parent720034a
1 file changed+41
content/grants/2023/eyre-noun-channels.md+41
content/grants/2023/eyre-noun-channels.mdnew file+41
@@ -0,0 +1,41 @@
1++++
2+title = "Finishing Touches to Eyre Noun-Based Channels"
3+date = "2022-01-26"
4+
5+[taxonomies]
6+grant_type = [ "Proposal" ]
7+
8+[extra]
9+image = ""
10+description = "Finishing Touches to Eyre Noun-Based Channels"
11+reward = "2 stars"
12+assignee = ["~polwex"]
13+grant_id = "P0229"
14+champion = ["~palfun-folsup"]
15+completed = false
16+canceled = false
17++++
18+
19+## Description
20+
21+Any Urbit developer who has coded a complex frontend will tell you that, by far, the most tedious part of making Urbit apps is JSON.
22+
23+Communication between Hoon backends and JavaScript frontends on Urbit is done currently only using JSON data, which has to be manually encoded and decoded at the backend using Hoon's JSON codec functions. Eyre communicating solely through JSON also causes performance costs which can be serious when the JSON data gets large.
24+
25+Thankfully there's a solution to this problem, and it's already more than half done. ~palfun-folsup pushed this draft PR a few months ago https://github.com/urbit/urbit/pull/5877.
26+
27+It just needs some polish. This grant proposal offers to procure it.
28+
29+As set up in the Github PR, in this grant we will:
30+
31+1. Remove the `jsbn` library dependency, and move all related logic in the `nockjs` files to JavaScript's new native BigInt type, or the `big-integer` library (which is mostly the same in practice).
32+
33+2. Add TypeScript typing to all the nockjs logic, wherever possible.
34+
35+3. Other fixes we find along the way to make sure the PR is mergeable and ready for use in Urbit apps.
36+
37+## Milestones & Compensation
38+
39+Expected completion: March 2023
40+
41+Reward: 2 stars