Development

Github metrics

Developer activity (from Coinlib.io)

Application of the Week

This week’s featured project is the dashboard developed by SDF.

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 functions 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.

CAP-0026 [Draft]: In this CAP, OrbitLens proposes disabling the current inflation mechanism, and argues that users’ increasing tendency to join inflation pools prevents inflation from supporting important ecosystem projects. Furthermore, he claims, these large weekly payment distributions may cause more unforeseen complexities than benefits, causing edge cases to arise in smart contracts and an unnecessary burden on validating nodes.

As of this week, CAP-0026’s design for disabling inflation became much simpler. Instead of OrbitLens’ somewhat more complex first approach, the CAP now details simply deprecating the inflation operation, by returning a OpNotSupported message from core nodes.

All-in-all, two pull requests were merged in the last week.

Updates to Stellar Core

This week the core team was rocking and rolling, inching closer to the 0.12.0 finish line. First off, 0.12.0rc2 was released. This release candidate comes with release notes (not present in the release candidate from last week).

Most of what was merged this week includes small nits, big fixes, and documentation/comment improvements. My personal favorite from this week was PR #2027 by graydon. This PR added a substantial comment about offers and the order book, especially helpful because, as someone who has done a little bit of work there, this code is tough. Furthermore, for those who are less familiar with the core codebase, gems like this are actually quite frequent, helping newcomers (and old comers alike) grok what exactly is going on!

Overall, eight 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:

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

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

astrocore (Rust): Stellar-core implementation in rust

State of the Developer Ecosystem

Besides the Stellar-core release candidate discussed above, also a first release candidate for Horizon 0.21.0 and two SDK updates, Python and Qt took place.

Horizon 0.21.0 (remember this is a release candidate and not production read) brings a lot of new cool features:

support for CAP-0024 (PathPayment2)

experimental support for an offers endpoint

numerous fixes for the new experimental ingestion system

dropped support for go 1.10 and 1.11

Below are quick synopses of this week’s SDK updates:

Python: in what may be seen as a classic Python move, there are now two officially developed and supported versions of this SDK, the 1.x.x branch and the 2.x.x branch. This week saw the release of 1.3.2, which brings SEP-0010 support.

Qt: for its first update since July, version 0.1.9.1 brings SEP-0010 support as well. Awesome! I believe this means most of the major SDKs now are SEP-0010 compliant.

New releases: Stellar-core v12.0.0 + Horizon v0.21.0

Stellar-core v12.0.0

In addition to a few stability improvements, Stellar-core v12.0.0 implements three Core Advancement Proposals.

CAP-24

CAP-24 creates a new operation called PATH_PAYMENT_STRICT_SEND. Right now, path payments only let you specify how much a recipient will receive. PATH_PAYMENT_STRICT_SEND lets you specify how much you want to send.

Technically, it “allows a form of path payment with a strict equality constraint on the send amount and an inequality constraint on the destination amount.” Intuitively, that means that if you’re sending USD to Lisa, and you want her to receive Euros, you can do things the original way and say “I want Lisa to receive €8,” or you can do things the new way and say, “I want to send Lisa $10.”

CAP-25

CAP-25 simplifies the bucket list data structure in stellar-core, which makes things easier for node administrators by reducing storage cost and bucket merge latency.

CAP-26

CAP-26 disables the current inflation mechanism.

Stellar-core v12 is available today, but like all protocol upgrades, it won’t take effect until validators vote to update the network. That vote is scheduled for Monday, 10/28 at 1600 UTC, so you have about a month to prepare.

Horizon v0.21.0

In addition to some performance improvements and bug fixes, Horizon v0.21.0 adds more filtering options for pathfinding, and continues to roll out features related to the new experimental ingestion system by adding support for /offers.

If you want to play around with the new ingestion system, it’s open for beta testing.

Note: Protocol 12 will be fully supported in Horizon v22, targeted for release on October 21st.