Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Comprehensive Guide for Building Terminal User Interface for Comet Liquidity Pool Dapp #665

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

silence48
Copy link
Contributor

In response to the bounty request 'Create a comprehensive frontend guide for building functional user interfaces for dapps using a terminal user interface (TUI)' #655 , I have created a detailed guide on building a functional Terminal User Interface (TUI) for the Comet Liquidity Pool Dapp using the inquirer package in Node.js. This guide aims to help developers understand and implement interactive command-line interfaces for decentralized applications.

The guide covers the following sections:

  • Introduction
  • Prerequisites
  • Project Setup, including Directory Structure and Installing Dependencies
  • Configuration
  • Detailed Code Breakdown for LP_CLI.ts, Comet.ts, AddressBook.ts, tx.ts, and env_config.ts
  • Utility Functions
  • Comet.ts Functions
  • Inquirer.js Overview, including What is Inquirer.js, How It Works, Setting Up, and Creating Prompts
  • Running the CLI
  • Example Usage
  • Conclusion
  • Appendix with relevant documentation links

By following this guide, developers will be able to create similar TUIs for other dapp functionalities, enhancing their skills in building interactive command-line applications.

Please review the guide and provide any feedback or suggestions for improvements.

Repository: Comet CLI Guide

I'm hopeful that this is one of many different implementations and or guides that people submit, as i'd love to see examples of doing it with python, rust, etc. (even though i guess soroban-cli is a pretty good rust example :D)

This commit adds a guide for the Comet Liquidity Pool Dapp Terminal User Interface (TUI) project. The project provides a comprehensive guide on building a functional user interface for decentralized applications using the inquirer package in Node.js. The primary focus is on adding liquidity to a liquidity pool contract, specifically the 'comet' contract, with the hope that the guide provides help for someone to setup a TUI for a different dapp.
philipliu pushed a commit to philipliu/stellar-docs that referenced this pull request Jun 10, 2024
* Add dapps challenge (stellar#487)

* Add Dapps Challenge to Docs

Todo: user dashboard visibility

* add hide unless dapps

* update user card

* update checkpoints

* add user dashboard to dapps challenges

* Update Dapp Challenge Description

* Update tsconfig.json

* fix tsconfig.json

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* update challenge 0 and 1 ; add images for challenge 2

* Capitalize Futurenet; lowercase Dapp when needed

* disclaimer; nit crowdfunding -> crowdfund

* Update challenge-0-crowdfund.mdx

* update layout and guides

* Update smart-contracts.mdx

* update content

* add links

* nit update soroban quickstart

* Update react.mdx

* Update challenge-0-crowdfund.mdx

* update start course redirect

* we -> you

* update wrangler endpoint to stellar cloudflare

* update wrangler endpoint

* add module resolution and jsx

* add wrong network page; remove unused code; add vercel.app checking

* update wallets conclusion

* nit Update wallets.mdx

* nit update broken link

* Freighter -> WalletData Component

* update crowdfund dapps challenge for P10

* Fix Setup

* update docker workflow; add better notes

* nit standalone docker requirement

* re-enable .vercel.app check; move ParentChallengeForm

* move Login function

* fixed automatic log in problem

* comment out connection check

* comment out auto connect hook; nit Login -> Connect

* removed unused setLoading() changed order of operations

* update to checkout challenge branch

* completed challenge message = clickable url

* remember user is logged in

* setup `BrowserOnly`

* Update yarn.lock

* Update yarn.lock

* merge main into dapps challenge

* Update yarn.lock

* nit: refresh message

* add disconnect button comment; better connection insight

* update contract initialization to use strings

* auto populate url; add resubmit; fix broken invoke

* add setSavedUrl; improve url auto populate

* improve local storage for pubkey

---------

Co-authored-by: Bri <[email protected]>

* Update initialization.mdx (stellar#518)

* editorial nits for dapps challenge (stellar#544)

* editorial nits on crowdfund dapp

* editorial nits in payment dapp challenge

* Add scaffold soroban (stellar#545)

* Create scaffold-soroban.mdx

* add video embed

* reformat code call outs; add conclusion

* Update scaffold-soroban.mdx

* nit: link sc

* nit add rpc link

* add definition to soroban RPC

* update deep dive section

* dApp -> dapp

* remove atomic swap description

* update simulate txn section; copy edits

* update intro to dapps

* nit:fix link

* update links; edit copy

* nit:typo

* SDC UI upgrades (stellar#542)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

* Merge SDC from julian-dev28:main to Stellar:SSDC23 (stellar#541)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Update the user workflow for the challenges with CI/CD (stellar#5)

* Update the Crowdfund challenge with pull request validation step info

* Refactor

* Add isPullRequestRequired field handling

* Update text for Crowdfund checkpoint 8

* Make isPullRequestRequired required

* Fix issue with dates

* Merge branch 'main' into SSDC23

* Update challenge-0-crowdfund.mdx

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Updated mdx files on dapps (stellar#525)

* Fixed typos in dapps section
* Fixed typos in fundamentals-and-concepts section

* Add lp dapp challenge (stellar#543)

* Create challenge-2-liquidity-pool

* update lp dapp challenge

* complete lp-dapp challenge

* nit spelling

* Update challenge-2-liquidity-pool.mdx

* nit spelling

* nit add steps to workflow

* nit update workflow

* update workflow again

* add diff

* edit diff

* more diff editing

* editorial edits

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* add reference to earlier step; fix conflict in crowdfund dapp page

* update quickstart version

* small wording change

---------

Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* Update Futurenet to Testnet Across Documentation (stellar#577)

* Futurenet -> Testnet

* fix broken links

* update-rpc-page

* Update testnet.mdx

* Pass 1

* format

* update table in testnet.mdx

* update state expiration example script to use testnet

* replacing futurenet with testnet in contract deployment example

* revert SDC contnet

* include testnet network passphrase on releases page

* update freighter to include testnet alongside futurenet

* revert SDC to Use Futurenet for the time being

* style: fix up markdown syntax and style in `rpc.mdx`

Also adds some small linguistic and grammer changes, as well as more
updates from Futurenet to Testnet

* docs: include Testnet when describing what RPC servers SDF maintains

* style: changing a single ellipsis character with three periods

* docs: include gh repo links to the software that runs in quickstart

* add the Testnet network to the example `initialize.sh` script

* change contract-invoking transaction example code to use Testnet

* change to valid futurenet URLs in dapp challenges

* Apply suggestions from code review

minor tweaks that slipped through the cracks

---------

Co-authored-by: Elliot Voris <[email protected]>

* Soroban Dapps Challenge: Update Sidebar and Remove Local Deployment (stellar#597)

* remove challenges top level dropdown; remove local deployment

* update Soroban version

* Prevent Popup for Testnet

* Leaderboard and Freighter API integration (stellar#598)

* Add leaderboard with wallet integration feature

* Update index.tsx

* Add total value locked logic with reseting user data

* Refactor reset logic

* Refactor sorting

* Revert TVL for payment

* Update resubmit contract id logic

* Fix resubmiting contractId

* Add pagination and wallet address to leaderboard

* Change columns order

* Allow payment be completed

* User submit ContractID

* use GH token

* use npm instead of yarn

* Update main.yml

* revert back to yarn

* use https for wallets kit

* try access token

* use new github token

* set up to use git https

* last random try

* Update main.yml

* use default settings

* set origin for wallets-kit

* trying npm again

* nit: use npm for scripts

* Remove stellar wallets kit; add support for users w no progredd

* nit: phrasing

* Use Original GH Action

* Show user address

* nit: phrasing

* nit: connect message

* add missing cd

---------

Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>

* update leaderboard ranking toggle (stellar#609)

* Corrected calculation of total pages so that 'Prev' and 'Next' buttons are disabled when table contains less than 10 rows. (stellar#611)

* Add tabs to dapps challenge checkpoints (stellar#610)

* Update challenge-0-crowdfund.mdx

* Add tabs to interaction step

* add tabs to checkpoints

* feat: provide a means of receiving simple feedback from users (stellar#587)

* feat: provide a means of receiving simple feedback from users

Here, we have swizzled (ejected) the `DocItem/Footer` component
from docusaurus, and are inserting our own `ReaderFeedback`
component into it before the rest of the doc footer content.
Also, the `custom.scss` file has been used to style this element
in a consistent manner with the rest of the site.

This is the first step to resolve stellar#586: The user interaction can
now take place. From here, we will work on integrating the custom
events into Google analytics. Ultimately, we will like to implment
this feature into the `stellar-docs` repository, as well.

Refs: stellar#586

* Moving some React state things around

* Including an `alt` tag for the like/dislike buttons

* use the `pageId` for `eventLabel` in the send event

* style: Linting the code

* style: changing inline svg tag to be on newlines, changine filename to `jsx`

* feat: Inserting the `DocItem/Footer` components on `dapps` and `api` pages

* feat: migrating to the GA4 plugin in docusaurus

* Testing with a new ga4 tracking id for preview domain

* add some console statements to test what's happening

* add configuration for test gtag container for this pr preview

* feat: use `gtag` over the deprecated `ga` function

* adding my own test gtag?

* Remove the `gtag` function call, and just register state

* removing the old-style google analytics tag for good

* remove staging tag manager containers in preparation for production

* replace staging ga4 tracking id with production tracking id

* use `@site/static` for feedback button imports, rename file extension

* Remove docker image hashes (stellar#628)

* remove mentions of specific image hashes in docker commands

* update docker image hash to most recent version on releases page

* Update Soroban Dapps Challenge copy (stellar#631)

* update redeployment section

* add description for deployment

* update links

* add note about building `target`

* Update challenge-0-crowdfund.mdx

* Update challenge-2-liquidity-pool.mdx

* Sdc mental models: payment dapp upgrades (stellar#641)

* bringing sdc-mental-models branch up to date (stellar#632)

* feat: provide a means of receiving simple feedback from users (stellar#587)

* feat: provide a means of receiving simple feedback from users

Here, we have swizzled (ejected) the `DocItem/Footer` component
from docusaurus, and are inserting our own `ReaderFeedback`
component into it before the rest of the doc footer content.
Also, the `custom.scss` file has been used to style this element
in a consistent manner with the rest of the site.

This is the first step to resolve stellar#586: The user interaction can
now take place. From here, we will work on integrating the custom
events into Google analytics. Ultimately, we will like to implment
this feature into the `stellar-docs` repository, as well.

Refs: stellar#586

* Moving some React state things around

* Including an `alt` tag for the like/dislike buttons

* use the `pageId` for `eventLabel` in the send event

* style: Linting the code

* style: changing inline svg tag to be on newlines, changine filename to `jsx`

* feat: Inserting the `DocItem/Footer` components on `dapps` and `api` pages

* feat: migrating to the GA4 plugin in docusaurus

* Testing with a new ga4 tracking id for preview domain

* add some console statements to test what's happening

* add configuration for test gtag container for this pr preview

* feat: use `gtag` over the deprecated `ga` function

* adding my own test gtag?

* Remove the `gtag` function call, and just register state

* removing the old-style google analytics tag for good

* remove staging tag manager containers in preparation for production

* replace staging ga4 tracking id with production tracking id

* use `@site/static` for feedback button imports, rename file extension

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq (stellar#625)

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq

* rpc: rename expiration ledger in openrpc file

---------

Co-authored-by: Elliot Voris <[email protected]>

* Remove docker image hashes (stellar#628)

* remove mentions of specific image hashes in docker commands

* update docker image hash to most recent version on releases page

* Update WASM retrieval tutorial (stellar#627)

* docs: explain the diagnostic events that are emitted in sandbox (stellar#593)

* docs: explain the diagnostic events that are emitted in sandbox

Perhaps this approach is too verbose? I think having the explanation
of what is being seen right there in the tutorial is useful at this
early step in the "getting started" section. A new developer is more
likely to understand what they see, and remember what it is in the
future if we don't try to interrupt their flow at this point by
sending them to another page for some (possibly irrelevant) info.

I may be incorrect there, and I'm happy to hear opinions from others.

Refs: stellar#521

* docs: add a space between two words

* editorial in Update hello-world.mdx

---------

Co-authored-by: Bri Wylde <[email protected]>

* Fix a couple typos in rust-dialect.mdx (stellar#630)

---------

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>

* Crowdfund dapp copy updates v1

Added in some (minimal) context throughout.
Tidied up a few grammatical/spelling inconsistencies.

* add description and update "ship it" workflow

* update soroban-cli install

* Update challenge-0-crowdfund.mdx

* remove extra vercel link

* Merge branch 'main' into sdc-mental-models

* Add intro to dapps

* nit formatting

* Payment dapp copy updates

Updates to Checkpoints 0-4 of the Payment dapp challenge, including added copy and a few very minor grammatical upgrades.

* add more context

* Merge Payment dapp fix (stellar#643)

* Update latest testnet-compatible JavaScript release versions (stellar#634)

* Update latest testnet-compatible JavaScript release versions

* Add links to release notes for each version

* Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

Co-authored-by: Elliot Voris <[email protected]>

* Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>

* Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

* Updates to setup.mdx

* Add CLI for testnet configuration to Setup

* Updates to hello-world.mdx

Reorder some code snippets to be after the description

* Small edits in storing-data.mdx

* Add high_expiration_watermark argument to bump in incrementor

* Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

* Add Optimizing Builds to hello-world

* Update storing-data to remove sandbox interation

* Add a deploy-incrementor-to-testnet step

* Update position of Create an App

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Update create-an-app.mdx

* Fix typo

* Add a mv command for .soroban dir when reorganizing to a multi-contract project

* Apply mdx prettier updates

* Update astro port in create-an-app.mdx

* Apply suggestions from code review

Co-authored-by: Elliot Voris <[email protected]>

* Add .mdx to end of internal markdown links for docusaurus magic

* Make sure there are new lines before and after ::: tags

* Some additional edits/improvements

* Mention that Freighter is available as a firefox add-on

* Update the deploy-incrementor url

* Apply prettier updates

---------

Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* docs: change preflight wording to simulate transaction (stellar#585)

* docs: change preflight wording to simulate transaction

A first attempt to resolve stellar#478, there may be more work to be done.
I've used a few different phrases, depending on how the sentence
structure works, perhaps taking some liberties in the process.

I've also left alone the `releases` page for preview releases
older than 11. It seems unnecessary to rewrite the development
history too far into the past.

Refs: stellar#478

* editorial on Update interacting-with-contracts.mdx

* added a couple "the"s Update state-expiration.mdx

* fix wording about ledger entries to be less confusing

* clearing up some other language surrounding footprints

---------

Co-authored-by: Bri Wylde <[email protected]>

* Create data-providers.mdx (stellar#629)

* Create data-providers.mdx

Adding new page for data providers to cover indexers and block explorers

* Update data-providers.mdx

updated explanation text

* style: fixing some markdown styles and formatting

* Adding some more verbose descriptions and links

---------

Co-authored-by: Elliot Voris <[email protected]>

* docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

* docs: update welcome page "preview release" > "release candidate"

* docs: change "preview release" > "release candidate" on releases page

* update payment challenge; add styles

* add clickable object to localhost:9000 example

* Update challenge-1-payment.mdx

* Squashed commit of the following:

commit 76c48ccd8049bca6bb11f131cefb35253dad86b2
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 10:10:12 2023 -0800

    add more context

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* format image

* Squashed commit of the following:

commit 308444d93d4f7133107ca499a6d255fe5ae302d4
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 14:55:06 2023 -0800

    update copy

commit ec062702a5a900ff890bf5cc99dfd9b6dbe1915a
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:34:07 2023 -0800

    add styles for lp

commit f7bbf2e61a262aa6dd76bed2f43cd26aafce075b
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:13:49 2023 -0800

    add image styles

* update copy for production deployment

* caution -> tip

* add commas, add soroban-cli install to payment dapp

* fix broken link

* Squashed commit of the following:

commit 7de8a99ec32065376ea4fd2f42a14194cdda6e49
Author: Elliot Voris <[email protected]>
Date:   Thu Nov 9 15:47:49 2023 -0600

    docs: move data providers page out of sdks directory (stellar#645)

commit 55e0a866c6dbbe2b4dd38f38816915d59c962584
Author: Elliot Voris <[email protected]>
Date:   Tue Nov 7 11:40:20 2023 -0600

    docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

    * docs: update welcome page "preview release" > "release candidate"

    * docs: change "preview release" > "release candidate" on releases page

commit 2ae107280eb4bfee7192e7bdabf704c80ffab43c
Author: jcx120 <[email protected]>
Date:   Tue Nov 7 08:48:50 2023 -0800

    Create data-providers.mdx (stellar#629)

    * Create data-providers.mdx

    Adding new page for data providers to cover indexers and block explorers

    * Update data-providers.mdx

    updated explanation text

    * style: fixing some markdown styles and formatting

    * Adding some more verbose descriptions and links

    ---------

    Co-authored-by: Elliot Voris <[email protected]>

commit 0054011876a8273788a5bf6de16623683c9159d2
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 6 11:00:02 2023 -0600

    docs: change preflight wording to simulate transaction (stellar#585)

    * docs: change preflight wording to simulate transaction

    A first attempt to resolve stellar#478, there may be more work to be done.
    I've used a few different phrases, depending on how the sentence
    structure works, perhaps taking some liberties in the process.

    I've also left alone the `releases` page for preview releases
    older than 11. It seems unnecessary to rewrite the development
    history too far into the past.

    Refs: stellar#478

    * editorial on Update interacting-with-contracts.mdx

    * added a couple "the"s Update state-expiration.mdx

    * fix wording about ledger entries to be less confusing

    * clearing up some other language surrounding footprints

    ---------

    Co-authored-by: Bri Wylde <[email protected]>

commit b9710ea0ea6c4652aea2019504534197195a2b3a
Author: Elizabeth <[email protected]>
Date:   Mon Nov 6 11:59:21 2023 -0500

    Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

    * Updates to setup.mdx

    * Add CLI for testnet configuration to Setup

    * Updates to hello-world.mdx

    Reorder some code snippets to be after the description

    * Small edits in storing-data.mdx

    * Add high_expiration_watermark argument to bump in incrementor

    * Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

    * Add Optimizing Builds to hello-world

    * Update storing-data to remove sandbox interation

    * Add a deploy-incrementor-to-testnet step

    * Update position of Create an App

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Update create-an-app.mdx

    * Fix typo

    * Add a mv command for .soroban dir when reorganizing to a multi-contract project

    * Apply mdx prettier updates

    * Update astro port in create-an-app.mdx

    * Apply suggestions from code review

    Co-authored-by: Elliot Voris <[email protected]>

    * Add .mdx to end of internal markdown links for docusaurus magic

    * Make sure there are new lines before and after ::: tags

    * Some additional edits/improvements

    * Mention that Freighter is available as a firefox add-on

    * Update the deploy-incrementor url

    * Apply prettier updates

    ---------

    Co-authored-by: Chad Ostrowski <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>

commit 61054dcad82dbf77c28aa1819ad08b6fa132ad70
Author: Satyam Zode <[email protected]>
Date:   Fri Nov 3 20:26:27 2023 +0530

    Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

    Signed-off-by: Satyam Zode <[email protected]>
    Co-authored-by: Satyam Zode <[email protected]>

commit d6091131996ab81e42dff57f4bccaad3f5d56b3e
Author: George <[email protected]>
Date:   Thu Nov 2 12:53:52 2023 -0700

    Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

    Co-authored-by: Elliot Voris <[email protected]>

commit 228e4bfed691effa58a07b664abfd78b04e6dcd4
Author: George <[email protected]>
Date:   Thu Nov 2 09:18:50 2023 -0700

    Update latest testnet-compatible JavaScript release versions (stellar#634)

    * Update latest testnet-compatible JavaScript release versions

    * Add links to release notes for each version

* add SEO logic

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* Add oracle dapp challenge (stellar#664)

* add oracle dapp

* update endpoint

* add images

* Update http-client.ts

* update challenge list

* add last checkpoint to oracle dapp

* Update http-client.ts

* update meta tag

* update title (stellar#665)

* Liquidity Pool Dapp copy updates v2 (stellar#651)

* Update challenge-2-liquidity-pool.mdx

* Update challenge-2-liquidity-pool.mdx

* Squashed commit of the following:

commit 1864016f07b4f91a0cd9656ca55c2d8c568a0d02
Author: Dmytro Kozhevin <[email protected]>
Date:   Tue Dec 5 12:09:24 2023 -0500

    Remove some outdated cautions from the docs, now that Soroban should be stable. (stellar#672)

commit 816e2a0e1f4e0f1e30c909b92b74b75081d3d3d7
Author: Leigh McCulloch <[email protected]>
Date:   Tue Dec 5 08:48:10 2023 -0800

    Remove git init from hello world steps (stellar#666)

commit 19b10a8f4c24e495f9dc04f10c694449e4f5a333
Author: Anuxhya <[email protected]>
Date:   Tue Dec 5 11:43:19 2023 -0500

    Update fees-and-metering.mdx (stellar#654)

    * Update fees-and-metering.mdx

    Cleaning up the docs challenge 1 of the word s o r o b e r r y.

    * Update fees-and-metering.mdx

    Syntax error

commit 36cc17fca85efc1471e3aadfb29b0ca1687e536b
Author: Leigh McCulloch <[email protected]>
Date:   Sat Dec 2 21:01:14 2023 -0800

    Update soroban-sdk to v20.0.0-rc2.2 (stellar#667)

commit c5b01369ede0b78c2626013f2b43683f69db2905
Author: Leigh McCulloch <[email protected]>
Date:   Fri Dec 1 09:41:37 2023 -0800

    Remove step adding target dir to gitignore (stellar#660)

commit 214a207
Author: Julian Martinez <[email protected]>
Date:   Fri Dec 1 09:07:49 2023 -0800

    update title (stellar#665)

commit 4b91088
Author: Julian Martinez <[email protected]>
Date:   Fri Dec 1 08:36:59 2023 -0800

    Add oracle dapp challenge (stellar#664)

    * add oracle dapp

    * update endpoint

    * add images

    * Update http-client.ts

    * update challenge list

    * add last checkpoint to oracle dapp

    * Update http-client.ts

    * update meta tag

commit 595d591e97b946a971a51f73520deb3341be6476
Author: Bri Wylde <[email protected]>
Date:   Thu Nov 30 11:53:53 2023 -0700

    clearer Soroban favicon (stellar#662)

commit dc14811ded524a6f2d0026b5d1cce19ad4df7827
Author: Elliot Voris <[email protected]>
Date:   Wed Nov 29 16:11:19 2023 -0600

    synchronize api example tabs across pages (stellar#661)

commit 4f1198cfde2df402c0e74f1145828423c39e29ea
Author: Elliot Voris <[email protected]>
Date:   Wed Nov 29 13:01:38 2023 -0600

    Revert "Update getting started tutorial to use an Astro template (stellar#642)" (stellar#658)

    This reverts commit 512b1f46506b7edc788bc6e93a0e1f6d101d22ae.

commit 81cac0d3524a1a80ce2fadd88e93aa40ffde791b
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 27 16:29:57 2023 -0600

    build: a couple small fixes to get the build to work (stellar#657)

    * build: a couple small fixes to get the build to work

    * style: changing the way a couple codefences work

commit 512b1f46506b7edc788bc6e93a0e1f6d101d22ae
Author: Elizabeth Engelman <[email protected]>
Date:   Mon Nov 27 13:00:32 2023 -0500

    Update getting started tutorial to use an Astro template (stellar#642)

    * Update create-an-app.mdx to use an Astro template

    * Apply prettier formatting

    * Add some additional gotchas to the troubleshooting section

    * Reworks hello-world.mdx using the Astro template

    * Rework deploy-to-testnet.mdx to interact with the contarct via the frontend

    * Update storing-data.mdx

    * Update deploy-incrementor.mdx

    * Change create-an-app.mdx to wrapping-up.mdx

    * Apply prettier updates

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Address PR feedback

    - move "???" bummer to "taking it further"
    - add command expansion note to deploy-to-testnet
    - remove mention of incrementor in deploy-to-testnet

    * Small cleanup

    * Address PR feedback

    * Remove release-with-logs section

    * Update code snippets to match updated tutorial code

    * Apply suggestions from code review

    Co-authored-by: Elliot Voris <[email protected]>

    * Address PR feedback

    * Check in prettier updates

    * update getting started links on the landing page

    * redirect the old create an app page to the hello world page

    ---------

    Co-authored-by: Chad Ostrowski <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>

commit f04a865b519d05495932fbaaf5bd075c8438c4ef
Author: jcx120 <[email protected]>
Date:   Mon Nov 27 09:23:53 2023 -0800

    Update rpc-list.mdx (stellar#653)

    * Update rpc-list.mdx

    Added Gateway FM (and removed BlockEden since they are in the Data providers list)

    * style: linting mdx file

    ---------

    Co-authored-by: Elliot Voris <[email protected]>

commit a9e0d34f61080bf456219e68c018432370bf3bf0
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 27 11:22:58 2023 -0600

    undo some changes from the docs scavenger hunt (stellar#656)

* Revert "Squashed commit of the following:"

This reverts commit ada22fee5da3073cc3e4daee60a2c4f3ffc3e378.

* Update challenge-2-liquidity-pool.mdx

* add context to price setting

* Add v20.0.0 (stellar#668)

* add P12 Release

* formatting

* Update releases.mdx

* formatting

* update horizon,stellar-base,cli

* add stellar sdk + base, soroban-client, Quickstart, changelog

* remove http from quickstart endpoint

* v20.0.0-rc2 -> v20.0.0

* Preview 12 -> Stable v20.0.0

* update CLI, RPC, Core Versions

* update stellar cor version

* Content updates to go along with the preview 12 version updates (stellar#682)

* update the token interface to reflect the Rust SDK

* feat: get Getting Started ready for v20.0.x

I don't know what the exact version of the CLI will be out by next
Monday. In the source here, I've guessed that maybe it will be `20.0.3`.

* update `openrpc.json` file to reflect new updates

* Update static/openrpc.json

Co-authored-by: Alfonso Acosta <[email protected]>

---------

Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>

* Update token-interface.mdx

* nit:formatting

---------

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>

* Update JavaScript SDK references to use the `@stellar/stellar-sdk` package (stellar#687)

* Upgrade js sdk dependencies to latest

* Track down references to soroban-client and move them

* Ran linter

* Pre mainnet restructure (stellar#644)

* docs: rename "fundamentals and concepts" to "soroban internals"

* docs: remove old "under the hood" section

* docs: add tags to the various tutorials

* docs: move tutorials into one main directory

* fix broken links to old pages

* docs: renaming soroban internals in category file

* docs: remove old "command line reference" category

* docs: add tokens directory, rearrange sidebars

* docs: rearrange migration from evm guide

* docs: remove unused reference/interfaces category

* docs: move "reference" section to "resources"

* docs: move "releases" page up a level

* docs: move FAQ page up one level

* docs: move dev tools into resources directory

* docs: move testnet.mdx to networks.mdx

* docs: rearrange items in resources directory

* docs: collapse various SDK pages into two pages

* docs: move data-providers up one level

* docs: remove some empty categories, move the tutorial template

* docs: add a new getting-started page, reorganize that section

* docs: change sidebar position integers in soroban-internals

* docs: shuffling contract interaction around in soroban-internals

* style: fixing a couple small markdown nits in dapps directory

* docs: fix a broken link

* feat: start to the "guides" page(s)

* style(lint): fixing a small linting error

* remove guides placeholder

* fixing broken links

* work on guides listing. might revert this

* formatting mdx

* docs: fixing a broken link to tutorials

* style: crack at making the tutorials filterable and hidden in the sidebar

* customizing some components for the `/guides` pages and layouts

* rename index page for guides to README

* remove commented configuration option

* remove some console logging in components

* change name of index page in guides sidebar

* remove commented sidebar generation code

* remove comments and add description to sidebar generator

* rename sidebar generator file

* more work on how the 'guides' pages might look.

* docs: adjusting sidebar positions of new getting started pages

* fix some broken links in the getting-started section

* prefer "README.mdx" files where possible

* some more guides placeholder stubs

* docs(guides): More placeholder stubs for guides and categories

* feat: don't display "guides in category" page on `/guides`

* build: check/fix MDX formatting in more directories than just docs

* style: add a larger margin before more category guides

* style: more selectively increase that top margin

* docs(guides): a quick stab at a "publishing" events guide

* docs(guides): first stab at the "publish events" guide

* docs: updating tutorial descriptions

* fix a few broken links

* docs: add note about a tuple with one element

* style: couple link changes and reformats

* move fuzzing tutorial back

* change to README file in contract interactions category

* docs(guides): give a better title for the wasm metadata guide

* fixing some broken markdown links

* fix (another!) broken link

* move the guides back into the main layout of the docs directory

* add placeholder for testnet reset automation stuff

* some initial content for some guides

* markdown formatting and fixing broken links

* moving "resources" back to "reference" to fit the definition better

More like "technical reference" rather than a "reference encyclopedia"

* change some styles of the tutorial list

* removing most category pages

* some more first-drafts of guides

* fixing some category links

* include a period at the end of each tutorial description

* simplify tutorial search box placeholder text

* better description for the tutorials page

* making the pre-commit script executable

* flesh out some of the state archival guides

* first effort for some rpc ledger key guides

* fix some broken links

* add a guide on ingesting events into a db

* first effort at storage type guides

* Some more stubs, marking drafts, and a couple additions

* make not a draft to fix a broken link

* guides category descriptions in README.mdx files

* marking incomplete chain migration docs as drafts

* change some tutorial difficulty levels

* fine-tune the tutorials component styling a bit

* improving some guides organization

* fix linting errors and broken links

* include wrap instructions for native lumens

* fix broken link in contract metadata guide

* final changes to existing guides

* moving developer tools into the main sidebar

* create real redirects instead of just notes

* fix broken links in a dapps challenge page

* fix a redirect syntax error

* fix a tutorials redirect

* update SDC leaderboard (stellar#712)

* update leaderboard style

* update font color

* Refactor wrap/deploy of SAC (stellar#718)

Co-authored-by: Leigh McCulloch <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* Refactor deprecated calls to `soroban config` (stellar#731)

* Update the community RPC list (stellar#744)

* Update RPC list with network info

* Add run your own RPC

* Fix urls for soroban cli

* Fix path to cli

* Fix relative link

* Add formatted mdx

---------

Co-authored-by: Jane Wang <[email protected]>

* move dapps challenge directory into place

* install new packages for dapps-challenge

* delete mispelled constants file

* fix relative imports

* move challenges to pages directory, and use README files

* correct markdown link

* fix broken links in dapps challenge docs

* fix link routes in dapps challenge dashboard

* add /src/pages dir to markdown formatting checks; format markdown

* fix relative imports on dapps challenge dashboard

* move the dashboard location into the dapps URLs

* add dapps challenge dashboard to the sidebar

using a customized sidebar generator for this.

* remove soroban events provider component from challenge forms

* fix dashboard links on dapp challenge pages

* change some frontmater and remove head items from dapps challenges

* move the docker guide from dapps challenge to guides

* move the rest of the dapps challenge guides

* update and move around the dapps guides

* lint and format markdown

* redirect /dapps requests, just in case

* remove link to guide content that no longer exists

* add link to dapps challenge in footer

* add link to freighter guide on dapps challenge intro page

* Update Dapps Challenge name in sidebar

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Bri <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Alejandro Criado-Pérez <[email protected]>
Co-authored-by: illiassmalashchuk <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: MazurakIhor <[email protected]>
Co-authored-by: nmadadair <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: jcx120 <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Pamphile Roy <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
@briwylde08
Copy link
Contributor

Thank you so much for your submission @silence48! We're exciting to look it over. We plan to have this one reviewed by 7/2.

@@ -0,0 +1,1603 @@
# Guide: Building Functional User Interfaces for Dapps using Terminal User Interface (TUI)

## Table of Contents
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need the TOC here since it's displayed in the right-hand nav bar? The TOC seems to clog things up a bit so I might remove it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻 for removing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, for the sake of completeness, Docusaurus can provide inline TOCs for you. We don't really use it anywhere, but it's probably an easier way to make it happen, and keep up-to-date over time.

Execute the following command to run the CLI:

```bash
yarn run CLI
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no script named cli, and the script in the origin repo is not capitalized.

"type": "module",
"scripts": {
"build": "rm -rf lib && tsc",
"deploy": "npm run build && node lib/deploy/deploy.js"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add missing scripts

"type": "module",
"scripts": {
"build": "rm -rf lib && tsc",
"deploy": "npm run build && node lib/deploy/deploy.js"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where did lib/deploy/deploy.js come from?
It is unclear when a user would call a script and for what reason

Copy link
Contributor

@Julian-dev28 Julian-dev28 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for the submission! It was a great read and I have some feedback.

  • I think the content is solid in terms of the value the code sections provide, but I’m having trouble with the execution.

  • The user is told it’s easier to use the example CLI repo, but the scripts from this tutorial don't align with the origin repo. Additionally, the deploy script seems to lack context regarding its origin. There’s also the issue of the scripts’ spelling as noted in a comment.

  • When the scripts from the original repo (the one we’re advised to use) are ported over and used, it seems that the module types are not aligned and cause errors.

  • It’d be great if the author could choose a workflow to guide the user or align the repos more closely. Moreover, I recommend that the author step through the execution part of the tutorial to ensure correctness.

Great work so far, and I look forward to the finished product.

@silence48
Copy link
Contributor Author

Thanks again for the submission! It was a great read and I have some feedback.

  • I think the content is solid in terms of the value the code sections provide, but I’m having trouble with the execution.
  • The user is told it’s easier to use the example CLI repo, but the scripts from this tutorial don't align with the origin repo. Additionally, the deploy script seems to lack context regarding its origin. There’s also the issue of the scripts’ spelling as noted in a comment.
  • When the scripts from the original repo (the one we’re advised to use) are ported over and used, it seems that the module types are not aligned and cause errors.
  • It’d be great if the author could choose a workflow to guide the user or align the repos more closely. Moreover, I recommend that the author step through the execution part of the tutorial to ensure correctness.

Great work so far, and I look forward to the finished product.

I will work on all these points today, hopefully can get the update done by tomorrow.

@briwylde08 briwylde08 marked this pull request as draft September 16, 2024 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants