Add a small Rust CLI tool to the quickstart image for non-trivial startup logic

Open
#906 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust, shell
Domain
cli, tooling

Research direction

Start by reviewing the quickstart image's startup scripts and the discussion in PR #841. Scope the first implementation around computing the native asset contract address from a network ID using the low-level stellar-xdr and stellar-strkey crates; done means the CLI is shipped in the image and replaces the brittle configuration setup.

Written by the indexing model from the issue text.

Description

feature request
What problem does your feature solve?

The quickstart image startup scripts use shell tools like jq, stellar-xdr, and stellar-strkey to perform tasks such as computing the native asset contract address and (in the future) deploying the native asset contract for local networks (#555). As more logic is added to these scripts, they become increasingly brittle and hard to maintain.

Context: https://github.com/stellar/quickstart/pull/841#issuecomment-3710247435

What would you like to see?

A small Rust CLI application that lives in the quickstart image and handles any logic that is not trivial enough to live in a shell script. It would:

  • Stay low level and minimal
  • Depend only on very low level components released early as part of stellar-core (e.g. stellar-xdr crate, stellar-strkey crate)
  • Compute the native asset contract address given a network ID
  • Eventually submit a transaction to deploy the native asset contract for local networks (#555)
  • Replace the current config setup that is very brittle

The intent is for this tool to be easy to update quickly when a new stellar-core is released, or even when working with an unreleased stellar-core using new XDR definitions.

What alternatives are there?
  • Continue using shell scripts: Combine jq, stellar-xdr, stellar-strkey, and other CLI tools in bash. This works but becomes brittle as more complex logic is added.
  • Ship stellar-cli with quickstart: This would provide the needed functionality but stellar-cli is much further downstream, making it harder for quickstart to quickly adopt a just-released or unreleased stellar-core.
Dominant language
Shell
Stars
222
Forks
236
Avg merge
1d 12h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from stellar/quickstart

All issues in stellar/quickstart

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.