Stellar Dev Digest: Issue #12

Rob Durst
The Stellar Dev Digest
6 min readAug 30, 2019

--

Hey y’all! It’s about that time of the week again. Welcome to another issue of the Stellar Dev Digest, a weekly recap of all things related to the development of the Stellar Network.

What is Stellar? Stellar is a platform that connects banks, payments systems, and people. Integrate to move money quickly, reliably, and at almost no cost.

Horizon’s New Ingestion Engine: Faster, Better — A Whole New World of Possibilities

This week, Bartek Nowotarski, published a blog post detailing the new Horizon ingestion engine, a seriously awesome and significant upgrade that shipped with Horizon v0.20.1. He does a great job of explaining the why, what, and how here. This is a must read for ANYONE interested in developing on Stellar, especially those who have done development in the past and been slowed down by 500 errors or sub-optimal response times.

With this new ingestion engine, not only will all the previous features work better, but more functionality is now possible! Let’s take a look.

Accounts for Signer

Let’s imagine “you have a primary account that also co-signs several multi-sig accounts — a business account, an account you share with your partner, a family trust account.” How can you determine which accounts you are a signer for?

Old Horizon

1. realize this was impossible with the old horizon ingestion system
2. install stellar-core
3. wait for core to sync with the network
4. re-learn SQL
5. query core's database directly
6. cry a little bit inside... why is this so complicated

New Horizon

curl https://horizon.stellar.org/accounts?signer=GBMALBYJT6A73SYQWOWVVCGSPUPJPBX4AFDJ7A63GG64QCNRCAFYWWEN
Stellar developers around the world rejoice.

Featured Developer Posts and News from the Week

Application of the Week

This week’s featured application is stellar.expert, developed by OrbitLens. Congratulations!

Stellar Expert is one of the easiest ways to gain insight into the activity on the Stellar network. It provides full, detailed overviews of assets, accounts, ledger stats, and much more. It even comes with some very helpful tools such as Account Demolisher, Account Directory, and Tax Data Export. This is a great tool for Stellar newcomers, entrepreneurs, and developers alike as it not only offers simple and readable charts and tables, but also access to testnet data for any hobby project or prototype business built on the test network.

If you come across any bugs, or come up with ideas for improvement or feature requests, make sure to open an issue on the Github Repo.

Interested in promoting your own project, or another exciting project in the ecosystem? If so, please make a submission here.

Updates to Stellar Protocol (CAPs) and Ecosystem (SEPs)

Core Advancement Proposals (CAP) and Stellar Ecosystem Proposals (SEP) are a formal way of documenting proposed standards to improve various aspects of the Stellar Network. These function similar to EIPs and BIPs from the Ethereum and Bitcoin communities respectively. CAPs and SEPs represent the culmination of many discussions that often take place on the Stellar Developer Google Group.

The most exciting update on the protocol front is jonjove’s implementation of CAP-0015 which has entered the code review process! This is a rather large PR, so it will likely not land for at least a couple weeks — that being said it is always exciting to see CAP’s progress towards an implemented state.

Besides that PR, this week was mostly about more SEP-0006 clarifications. These come about as more and more anchors work on implementing SEP-0006 into their workflow, a truly exciting time for the Stellar ecosystem as whole!

All-in-all, six pull requests were merged in the last week:

Updates from Stellar Core

First and foremost, 11.4.0 shipped! As noted last week, this is the final releas before 12.0.0. Notable features of 11.4.0 include:

  • Some race condition fixes
  • Various bucket related improvements
  • A fix in the automatic quorum set generator
  • BREAKING change: sql schema changes squashed

As always, I would recommend checking out the full release notes.

You may also notice lots of PR’s being merged related to fuzz testing. You then may ask yourself, what is fuzz testing and why does Stellar need fuzz testing… good questions! Keep your eyes peeled for a post all about fuzz testing, dropping sometime in the next week. You heard it here first.

Overall, six pull requests were merged in the last week:

Calls for Participation

Looking to get your hands dirty and not sure where to begin? The Stellar ecosystem is full of open source projects looking for help. The following projects are interested in some help and are very likely willing to offer mentorship in exchange:

awesome-stellar (Markdown): A curated list of Stellar applications, blog posts, educational resources, tools, and more

Stellar Vanity Wallet Generator (Rust): generate Stellar vanity wallets

js-stellar-sdk (JavaScript): Stellar’s main Stellar client library for Javascript

scala-stellar-sdk (Scala): Scala Sdk for the Stellar network

astrocore (Rust): Stellar-core implementation in rust

Kelp (Go): a free and open-source trading bot for the Stellar universal marketplace

Stellar Go Monorepo (Go): Stellar’s public monorepo of go code

Litemint(JavaScript): the limitless crypto wallet packed with games and apps to enjoy, earn and trade digital collectibles

State of the Developer Ecosystem

This week, we had four significant updates to the Stellar ecosystem as Stellar-core, Horizon, the JavaScript SDK, and Python SDK all released major updates. A nice slow clap for everyone involved…

Core and Horizon were both described above, so we will focus on the the two SDK’s here:

  • JavaScript SDK(3.0.0): support for Node 6 is officially dropped in favor of Node 10 which is LTS (long term support) until April of 2021
  • Python SDK (2.0.0-alpha3): no formal release notes here and based on commit history, mostly just doc updates since alpha1 and alpha2. I’d recommend a run through of the docs to get an idea of all 2.0.0 offers (one key feature being asynchronous support).

Note: work for Python (and potentially other SDK’s) is done on a dev branch, thus commits are not properly queried by my script. This will hopefully change in the near future, but until then, take the above commit counts with a grain of salt.

Jobs

Looking to work on Stellar full-time?!? Check out the list of job openings below:

  • SDF Frontend Engineer (New York) Apply
  • SDF Senior Platform Engineer (San Francisco) Apply
  • SDF Senior Core Engineer (San Francisco) Apply
  • SDF Senior Platform Engineer (New York) Apply
  • SDF Software Integration Engineer (San Francisco) Apply

Not Yet Signed Up?

I have a publication, how cool! While I will still advertise posts on the typical Stellar developer mediums (Reddit, Keybase, Google Group, etc) you can also follow this publication.

Did I Miss Something?

Darn, I knew it! If you found that something from this issue is missing or inaccurate, please open an issue here or message me (r_durst) on Keybase and I will get around to it ASAP. Thanks!

Disclaimer: this is entirely an endeavor of my own, in no way, shape or form endorsed by or a result of my employment with the Stellar Development Foundation.

--

--