Resources

We put together some resources to make it easier to get started.  Some will help you understand Stellar basics; others are focused on the new features at the heart of this challenge.  If you get stuck or need help at any point, you may want to join the Meridian hackathon channel on the Stellar Global Discord, where you can ask questions and interact with other hackathon participants   

What is Stellar?

Stellar is an open-source blockchain network that makes it easy to create, send, and trade digital representations of all forms of value. It’s developer friendly, and designed so all the world’s financial systems can work together on a single network.  If you're new to Stellar, you may want to start by reading through the Learn section of stellar.org

The Testnet

For this challenge, you'll be building on the Stellar testnet.  That's a requirement: we want you to experiment in a sandbox safe from live assets, and several of the new features aren't available yet on the public network. 

You don't need to set up your own Stellar infrastructure to use the testnet: the SDF offers a public Horizon API instance that allows you to access it immediately and free of charge, and we encourage you to use it: https://horizon-testnet.stellar.org/

That way, you can focus on your product rather than spending time spinning up your own Stellar node.

The New Features

The four new features at the heart of this challenge were introduced in two separate protocol upgrades, and the announcement blog posts are great places to get high-level overviews of what you can do with them:

Here's a quick explanation of each feature along with relevant links to help you figure out your implementation:

Fee Bumps

Fee bumps allow wallets and other applications to cover another account's fees without giving over control of the underlying funds or relying on sequence number magic.  That means you can conceal the finer details of network fee requirements from consumers and build a simpler product that appeals to a wider user base.

Sponsored Reserves allow an account to cover another account's lumen reserves without giving over control of the underlying funds.  Like fee bumps, they make it easier to build something on Stellar that doesn't require your users to know anything about crypto, which means you can appeal to a much wider world of users.

Claimable Balances

Claimable Balances split a payment into two separate parts: the creation of a balance, and the claiming of a balance.  An account can now send an asset independent of the state of the receiving account by creating a Claimable Balance entry, and that entry can be claimed asynchronously by the designated claimant when their account is ready.  Using Claimable Balances, for instance, anchors can accept an off-network user deposit and immediately create an equivalent on-network Claimable Balance that the user can collect in their own time.

Fine-grained asset auth

With fine-grained asset control, an issuer can create an asset that requires authorization, and that allows the issuer to approve transactions on a case-by-case basis without canceling a holder's open offers.  If you're interested in implementing this feature, make sure to check out the sandwich transaction suggestion in the example flow linked to above.   

General Tools and Resources

Horizon API Reference — A complete guide to the Horizon API, which is what you'll use to interact with Stellar to submit transactions and query network data.  We highly suggest using https://horizon-testnet.stellar.org/ to interact with the testnet rather than attempting to set up your own network infrastructure.  

Stellar Documentation — Detailed explanations and tutorials where you can learn to create an account, send and receive payments, issue assets, build and trick out a Stellar wallet, and more.

Stellar SDKs — You can build on Stellar in your programming language of choice.  Check out this list for links to all the Stellar SDKs, each of which has its own robust set of docs.

Stellar Laboratory — An interface that allows you to build, sign, and submit transactions and to make requests to any of the Horizon endpoints.  At this point, all of the new features should be accessible via the Laboratory provided you're using it to access the testnet.

Awesome Stellar — A curated list of Stellar applications, blog posts, educational resources, tools, and more.

Stellar Expert — A block explorer and analytics platform for Stellar Network that allows you to find information about accounts, transactions, and assets.

Create Stellar Token (JS) — A script that allows you to quickly create a Stellar token on testnet.

Create Stellar Token + Orderbook (Python) — A script that allows you to quickly create a Stellar token and a market for your token on testnet.

[UPDATED 10/27/2020]