Scala Stellar SDK Roadmap
Published: 2019-06-29 05:06:08

A year and a half ago, I started the [Scala Stellar SDK](https://github.com/synesso/scala-stellar-sdk#stellar-sdk-for-scala) to provide a way for Scala developers to build on the Stellar network in a natural and idiomatic fashion. As it stands today, the SDK enables application access to Stellar networks to build and submit transactions, query the state of the network and stream updates. 

The primary goals of the SDK are to continue to build out developer-centric APIs whilst maintaining 100% test coverage. The project is committed to continuing to improve the developer experience, in order to maximize the utility of the Stellar network.

So, where to from here? 

![](https://thepracticaldev.s3.amazonaws.com/i/kaicpuz9cdt562asfwod.png)

__The Query API endpoints last mile.__
As it stands, the SDK provides access to _almost_ all API endpoints. The first order of business is to complete coverage for the outstanding access points - [Trade Aggregations](https://www.stellar.org/developers/horizon/reference/endpoints/trade_aggregations.html), [Payment Pathfinding](https://www.stellar.org/developers/horizon/reference/endpoints/path-finding.html) and full [TOML support](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0001.md#simple-summary).

__Error recovery conveniences.__
By the end of Q3, the project will introduce more conveniences around error handling. Developers should be able to specify that some of the mechanics of transacting via Horizon are automated, such as automatic fetching and refresh of account sequence numbers, and automated retry of failed transactions.

__High-level transaction API.__
Later in the year, the focus will shift to introducing a new high-level API. Right now, the SDK has a fully-featured API with all the necessary abstractions to build and submit transactions. But there is a need to build a simpler API on top of this that developers can use to rapidly perform common operations (such as account creation, payments and making offers), without having to specify and tweak the finer details. The Pareto principle definitely applies here.

__Important ecosystem functionality.__
The fun of implementing SEPs (Stellar Ecosystem Proposal) for [Key Derivation](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0005.md#simple-summary), [Delegated Signing](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0007.md#simple-summary) and [Web Authentication](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md#simple-summary) begins after that. 

There are more plans afoot, and I'll write about those too in the future.

If you're an active (or aspiring) Scala developer interested in building on a [rock-solid, payments-oriented, distributed platform](https://stellar.org/), you should definitely take a look at this project. If your goal is to write Stellar applications in Scala, or even to help build out the future of the SDK itself, then I would love to hear from you. Get in touch via [KeyBase](https://keybase.io/team/stellar.public), [GitHub](https://github.com/Synesso/scala-stellar-sdk) or [Gitter](https://gitter.im/scala-stellar-sdk/community).