Stellar Dev Digest: Issue #27
Upcoming Testnet Reset, Stellar Podcasts, Build Your Own Stellar Wallet Workshop.
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.
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.
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.
Three PRs were merged on the CAP and SEP front this week:
- Update cap-0018 error cases — 3 days ago
- Add sep-6 to sep-24 instructions — 3 days ago
- Create CAP for removing NO_ISSUER results — 3 days ago
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.
- 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.
- 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:
- Update default testing behavior to actually be pseudo random by default — 2 days ago
- Remove accountbalances index, no longer used outside full replay. — 3 days ago
- operations-per-ledger limit, instead of tx — 3 days ago
- Skip tx application and validation for simulation purposes — 3 days ago
- Use pointer into unordered_map instead of iterator — 3 days ago
- ensure that operation level meta is cleared during an internal error — 4 days ago
- Bump sqlite page size to 64k. — 6 days ago
- Use simple “C” collation on varchar / text index columns. — 7 days ago
- Fix Windows build — bump asio1.14.0 — 7 days ago
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 👍