Stellar Dev Digest: Issue #13

Rob Durst
The Stellar Dev Digest
6 min readSep 6, 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.

Featured Developer Posts and News from the Week

Application of the Week

This week’s featured application is Stellar Beat’s node crawler, developed by pieterjan84. Congratulations!

If you are not familiar with Stellar Beat, I recommend checking it out! Stellar Beat is the best overview of the Stellar network, with wonderful, interactive visuals of:

  • all nodes on the network
  • quorum set overlap (consensus)
  • organizations (node clusters representing a single entity)
  • quorum set explorer and simulator

A vital component of this tool is discovering every alive node on the network and querying each node’s quorum set. This is accomplished by crawling the network. The basic idea is to:

1. Start with a "known" list of nodes
2. For every known node:
a. Connect to the node (hello & handshake)
b. Ask for the node's peers
c. If the peer has not been seen yet, add to known list
3. Repeat 2 until all known nodes visited
Basically this, but with computers and stellar-core…

An open-sourced tool for direct node communication is really cool because other fun projects can utilize this to do some interesting things. As an example, I spent a weekend last year playing with a different open sourced crawler, written in Ruby and Go. By modifying this implementation to simply listen for incoming transaction messages, I could get a full list of trades to be applied (valid and invalid) before they were executed. The idea was to front-run Stellar 😈 … yet this is not quite possible because front-running really requires market orders, not limit orders.

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.

This week was mostly about cleaning up the SEP process. Notably, a deprecated status was introduced, Github handles are required as part of a SEP, and clarity was brought around the Active and Final statuses. Again, if you have a strong opinion about any of the above, please leave a comment here.

Along the same lines as introducing the deprecated status, SEP-0013 was rejected, not so much because it is something not beneficial to the ecosystem, but because its primary goal, “a protocol that standardizes how a wallet communicates with an anchor to fetch the deposit info,” was more or less covered by SEP-0006. This rejection state is interesting… this seems like more of a rejected in favor of, redundant, or deprecated by virtue of consummation. Opinions like this should be expressed here :)

Updates from ZkVM

Switching it up this week! Let’s see what the team working on ZkVM has been up to.

Unfamiliar with ZkVM? ZkVM is “an evolution of TxVM with cloaked assets and zero-knowledge smart contracts.” TLDR it is a really cool combination of many advanced blockchain and cryptography concepts, allowing for private smart contracts and assets via a zero-knowledge virtual machine with an instruction set(~32) much simpler and smaller than either Bitcoin’s scripting language(~256) or Ethereum’s EVM instruction set(~130). Pretty incredible! IMO less here is better, but I guess only time will tell ¯\_(ツ)_/¯

It certainly looks like it has been an exciting couple weeks here as oleganza pushed a few commits related to a demo application! This was only pushed 10 days ago, and there have been no announcements or docs about how to get this up and running, but if you are curious and have some time on your hands, getting this up and running may be a fun weekend project.

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 have just one release: the Scala SDK hit v0.9.0. This release, most notably brings full support for TOML files (was limited in previous versions) and a number of breaking changes related to making important transaction related fields explicit instead of implicit. As always, if this is an SDK you use considerably, I recommend checking out the full release notes.

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.

--

--