My stellar quest project.
Please don't just copy the code mindlessly without trying to solve the problems yourself, it's totally pointless if you actually wanna learn how to write software.
P.S I intetionally did not add code documentation ;)
-
In this challenge your task is to create and fund a brand new Stellar account (seen below) with 1000 XLM on the testnet. You will be required to use the createAccount operation, so don't just rely on friendbot. Good luck!
-
In this challenge, your task is to make a 10 XLM payment from the Stellar account (seen below) you funded in challenge 1. Use the payment operation to send the XLM payment to any other testnet account.
-
Stellar allows you to store arbitrary data in the form of key : value pairs. In this challenge, you're tasked with adding a key of Hello and a value of World as a data attribute on your account. (seen below). Note this challenge is case sensitive, so ensure you've got your key and value properly capitalized before checking your answer.
-
In this challenge, your task is to add and then make use of multisig on your account (seen below).
⚠️ Please take your time with this one⚠️ If you get it wrong you could lock yourself out of your account for the remainder of the series. Nervous? Pop into our Discord and verify before submitting.Multisig can be a little tricky to wrap your mind around at first, but it's an important and essential security feature of Stellar baked into the core of the protocol. *HINT: When adding multisig use setOptions but only set Signer Type. Do not touch Master Weight or any Threshold settings unless you're sure you know what you're doing.
-
In this challenge, your task is to create and send a custom asset to your account (seen below).
Custom assets are a first-class citizen in Stellar, and while the concept of trustlines can be a little tricky, once you get it sorted it's quite intuitive and straightforward.
-
In this challenge, your task is to create an offer to sell your custom asset for XLM.
Stellar's decentralized exchange is a powerful feature that is built into the core of the protocol. It allows for instant interoperability between all Stellar assets, including yours!
-
In this challenge, your task is to submit a payment operation from your account (seen below), but to use a separate source account to pay the fee and sequence number for the transaction.
This is known as a fee channel or a channel account. It's a great way to soak up fees for users in larger apps or achieve higher transaction throughput.
-
In this challenge, your task is to acquire SRT from its issuing account XXXXXXX via a path payment operation.
By taking advantage of the decentralized exchange built in at the protocol level, a path payment combines the conversion and transfer of assets It's one of Stellar's most powerful features.
-
In this challenge your task is to create and fund a brand new Stellar account (seen below) with 5000 XLM on the testnet.
Include the SHA256 hash of the string Stellar Quest Series 2 as the MEMO_HASH in the transaction memo field.
You will be required to use the createAccount operation, so don't just rely on friendbot. Good luck!
-
Did you know each Stellar transaction can include as many as 100 unique operations? 😱 This is an incredible feature as each transaction is atomic meaning either the whole group of operations succeeds or fails together.
In this challenge your task is to create a multi-operational transaction which creates a custom asset trustline on your account and pays that asset to your account from the issuing account all in the same transaction.
Fun fact: This is actually what we do here at Stellar Quest when issuing prizes. The claim transaction is a nice little multi-operational transaction adding and issuing the badge to your account all in a single transaction.
-
Fee channels are a common best practice in Stellar development. Their goal is to delegate fee payments away from user accounts for an improved UX. Protocol 13 saw a huge improvement to this flow with the introduction of fee bump transactions.
In this challenge your task is to create and execute a fee bump transaction which consumes the sequence number from your account (seen below) but the transaction fee from some other account.
This is actually how Stellar Quest delivers your prizes to you. A multi-operational transaction wrapped in a fee bump transaction. You pay the sequence number but we pay the transaction fee. How nice!
-
This one will be a bit tricky but I believe in you.
Today you've gotta sort out how to create a claimable balance that is only claimable by you and only claimable after the next challenge.
Additionally the claimable balance must be denoted in the native XLM asset for an exact amount of 100 XLM.
-
Remember that claimable balance you setup in the last challenge?
This challenge is to "simply" claim that balance and get your XLM back.
-
Storing stateful data on the Stellar blockchain isn't free. Everything from data attributes, trustlines and offers all the way down to just creating an account all increase the minimum balance of the account in question.
Up until protocol 15 this minimum balance had to be paid for by the account itself which often makes sense. However there are instances where it would be more convenient or even essential for these fees to be staked by some other account, a "sponsor" account.
In this challenge your task is to create a brand new 0 XLM balance account with the absolute minimum balance sponsored by your account (seen below).
-
Remember that account you sponsored in the last challenge? Well the winds of change are blowing and you no longer wish to sponsor their absolute minimum balance any longer.
In this challenge you need to revoke account sponsorship for the account you're currently sponsoring.
-
Not all digital info should be stored on a blockchain. Some information needs to be mutable and derives no benefit from maintaining a blockchain paper trail. For these requirements we must look outside Stellar.
Blockchain database software like IPFS, Torrent or Filecoin can store stuff in a decentralized manner but are overkill when simply storing basic, mutable metadata for a Stellar account. For that we'll use SEP 1.
SEPs, or Stellar Ecosystem Proposals are ecosystem initiatives aimed at providing consensus around common Stellar use cases. For SEP 1 that's providing a common format for Stellar account metadata.
In today's challenge your task is to create, host and link to a stellar.toml file with an SQ02_EASTER_EGG field containing the text:
Log into series 2 of Stellar Quest then visit quest.stellar.org/series2. Finally drag and drop your Stellar Quest series 2 badge PNG images onto the screen. Enjoy! Note you won't be able to solve today's challenge using only the laboratory. You'll need to host a toml file and for that you'll need a basic server. Personally I love RunKit and CodeSandbox but feel free to use whatever works. Good luck!