Urbit HTTP API for Rust

This proposal seeks to create an API to interact with an Urbit ship over HTTP written in Rust.

Rust is becoming a very popular language due to it's speed, safety, and portability.

Outline

This proposal comprises of the three milestones as defined in this doc: https://docs.google.com/document/d/1no5oos_NE8LrUWz7iG9SKZMTIzruZVevZQ75nD5OHmI/edit

  1. Basic HTTP Interface - Responsible for sending and receiving JSON to/from an Urbit ship

  2. Graph Store Interface - Interface to the graph-store Urbit API on top of the HTTP Interface

  3. Additional Agent Interfaces - Interface to the group-store and metadata-store Gall agents

Plan

While doing research/testing into the complexity of building out such a http api library, I've ended up 90% completing milestone 1. This milestone should be publicly released by the end of the week that this proposal is posted on.

From a quick look-over, milestones 2/3 do not seem too complex either, however I am also working full-time in tandem, and so my spare dev time is limited. As such the 2nd/3rd milestones are pushed out a bit further to provide some lee-way to ensure they're delivered on time.

Details

Started
January 7th, 2021
Category
App dev: Other
Funding
3 STARS

Basic HTTP Interface

Estimate: December 2020
Reward: 1 STARS
The team was awarded 1 STARS on Jan 20th, 2021, 4:54 pm.
Implementation of the HTTP Interface responsible for sending and receiving JSON to/from an Urbit ship
2

Graph Store Interface

Estimate: March 2021
Reward: 1 STARS
Implementation of the interface to `graph-store`, which sits on top of the HTTP Interface
3

Additional Agent Interfaces

Estimate: April 2021
Reward: 1 STARS
Implementation of the `group-store` and `metadata-store` Gall agents.