Stellar Dev Digest: Issue #27

Upcoming Testnet Reset, Stellar Podcasts, Build Your Own Stellar Wallet Workshop.

Kolten
Stellar Community
7 min readJan 20, 2020

--

Hey everyone! 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, payment systems, and people. Integrate to move money quickly, reliably, and at almost no cost.

Reminder: The next Stellar testnet reset is scheduled for 01/29/20 at 0900 UTC. A reset clears all testnet ledger entries, which means accounts, balances, assets, and offers go bye bye. If you’re in the middle of a test project, take some time now to figure out what you need to do to recreate it. If you want to crib from the SDF, you can read about how the stellar.org team recovers from a testnet reset here. More info and best practices for using the testnet are here.

Featured Developer Posts and News from the Week

  • 🎤 We just launched the Stellar Community Podcast, a weekly show hosted by Tyler van der Hoeven (and sometimes me). — Listen to episode 1 here!
  • Another great podcast, Inside Stellar with Brian Goldberg, also has a new episode featuring Frederick Rezeau, creator of everyone’s favorite Stellar gaming platform, Litemint. — Listen here.
  • SDF is hosting a “Build Your Own Stellar Wallet” workshop in San Francisco on February 19. It’ll cover everything you need to know to build a fully-functional Stellar wallet. — RSVP here.
  • StellarX / StableCoin Corp announced the launch of BTC and ETH anchors. — Find more info here.
  • StellarExpert launched two new validators, completing their fault-tolerant three-member quorum set, and further increasing the decentralization and resilience of the network. 2019 was “a spectacular year in terms of decentralization,” they write in the announcement. Here’s to continuing that trend in 2020!— Read more.

Lightnet, a Bangkok-based fintech company, got some recent ink in Forbes, in part because they raised US$31.2 million in their latest “Series A” financing round for their Stellar-based project.

Credit: lightnet.io

According to the Lightnet website, the company is creating a frictionless hub for realtime remittance settlement in Southeast Asia. What does that look like? The short version: their platform uses the Stellar decentralized exchange as an orderbook-matching mechanism between money transfer operators. The goal is to reduce settlement time, provide better foreign exchange rates by accessing untapped volume, and provide full visibility with data rich transactions.

.

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 open discussions that you can join by signing up for the Stellar Developer Google Group.

Active Discussions

There was no hot topic to single out on the dev mailing list this week, so I’ll highlight a few ongoing conversations instead:

Two-Part Payments (CAP-0023) — Back in May 2019, this Github issue started a discussion about how to provide an easier deposit workflow when users don’t have a trustline or an account. In December, Jon Jove shared an updated version of a protocol-level solution to that issue—CAP-0023—with the dev mailing list. It proposes separating the sending of a payment from its receipt by creating something called a claimable balance. Issuers can send a claimable balance to an account without first walking the recipient through the process of acquiring minimum reserve lumens and creating a trustline. Have thoughts on ways to improve the user onboarding experience? This discussion is for you.

Account Memo Requirements SEP — Highlighted last week, this early-stage SEP aims to provide a standard way to define transaction memo requirements for incoming payments. It’s an attempt to fix the “I forgot my memo” problem, and while it doesn’t require a change to the protocol, it does require buy-in from exchanges and wallets that map a single Stellar address to multiple users. Strong opinions about whether multiplexed accounts should be fixed at the SEP or CAP level? This discussion is for you.

Reserve held by another account — Should we add a feature to Stellar where one account can hold the reserve for any number of other accounts? The use case: a Stellar wallet or app that doesn’t want users to have to be worry about network reserves. Abstracting away the fairly complex world of reserves makes things a lot prettier for users. Worth doing? If so, what would it look like? If you have answers, this discussion is for you.

Stellar works better the more you participate, so if if you’re full of bright ideas or brimming with strong opinions, please, join the discussion.

Merged PRs

Three PRs were merged on the CAP and SEP front this week:

The CAP for removing NO_ISSUER results (aka CAP-0030) proposes improving the simplicity of operations on the network by removing a suite of unnecessary errors.

Currently, there are operations that don’t actually depend on the existence of an asset issuer, but that return an error result if an asset issuer isn’t found. One too many hoops. Fixing those operations will prevent stellar-core developers from using the AUTH_REQUIRED flag incorrectly, and will make the CAP-0023 (Two-Part Payments) implementation simpler.

Calls for Participation

Want to contribute to Stellar but don’t know where to start? The repositories below have a handful of beginner friendly PRs for you to take on!

  • Kelp (Go: 9 Open Issues): a free and open-source trading bot for the Stellar universal marketplace.
  • Account Viewer (JavaScript: 5 Open Issues): a simple tool to view an account on the Stellar network and make transactions from it.
  • JavaScript SDK (JavaScript: 8 Open Issues): a Javascript library for communicating with a Stellar Horizon server used for building Stellar apps either on Node.js or in the browser.
  • Js-Stellar-Base (JavaScript: 2 Open Issues): the lowest-level Stellar helper library. It consists of classes to read, write, hash, and sign the xdr structures that are used in stellar-core. This is an implementation in JavaScript that can be used on either Node.js or web browsers.
  • Go MonoRepo (Go: 12 Open Issues): the home for all of the public go code produced by SDF. In addition to various tools and services, this repository is the SDK from which you may develop your own applications that integrate with the stellar network.
  • Laboratory (JavaScript: 2 Open Issues): a suite of tools to help you learn about exploring the Stellar network.
  • Vanity Address Generator (Rust: 3 Open Issues): a simple CLI tool to generate Stellar vanity addresses.

Horizon client version 2.0.0 came out last week. Quick refresher: Horizon client is a Stellar Go SDK package that provides client access to a Horizon server and supports all endpoints exposed by the Horizon API.

It’s a major version bump—the previous release was 1.4.0— but the only big change is the removal of the deprecated fee_paid field from Transaction response, which we’ve been warning you about for a while now.

This week Stellar-core had 9 PRs merged:

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

  • SDF Senior Software Engineer (Core) (San Francisco) Apply
  • SDF Senior Software Engineer (Platform) (San Francisco) Apply
  • SDF Site Reliability Engineer (Asia-Pacific) Apply
  • SDF Software Engineer (Integration) (San Francisco) Apply
  • SDF Software Engineer (Platform) (San Francisco) Apply
  • SDF Software Engineer (Platform) (New York City) Apply

Not Yet Signed Up?

Want to get the Stellar Dev Digest and other developer updates directly to your inbox? Sign up for the developer newsletter today!

Did I Miss Something?

If you found that something from this issue is missing or inaccurate reach out to me (kolten) on Keybase and I’ll make sure to fix it 👍

--

--