mirror of
https://github.com/Permissionless-Software-Foundation/bch-dex-taker-v2.git
synced 2026-09-22 09:12:00 -07:00
2.2 KiB
2.2 KiB
Developer Docs
This file contains notes taken during software development. These notes may eventually be edited into information that goes into the top-level README, or other documentation.
Change notes
- reliable-nostr-dms.md — Why nostr-chat DMs failed to load, and the frontend changes for short subscription IDs, GET history, and chat reliability.
Main Features of this App
- react-bootstrap is used for general style and layout control.
- An easily customizable waiting modal component can be invoked while waiting for network calls to complete.
- minimal-slp-wallet is used to access tokens and BCH on the Bitcoin Cash blockchain.
- A 'server selection' dropdown allows the user to select from an array of redundent back end servers.
- This site is statically compiled, uploaded to Filecoin, and served over IPFS for censorship resistance and version control.
File Layout
The top-level file layout of this app looks like this:
- App.js - the main application orchestates these child components:
- GetRestUrl - retrieves the REST URL for the selected back-end web3 server from query paramenters in the URL.
- LoadScripts - Loads the modal with a waiting spinner animation until the external script files are loaded.
- NavMenu - the collapsible navigation menu
- InitializedView & UnitializedView - the default Views that are displayed depending on the state of the app.
- ServerSelect - allows the user to select a different web3 back end server.
- Footer - Footer links
After initialization, the InitailizedView is displayed. This loads the AppBody, which is a wrapper for each View. Views are selected using the navigation menu. When one View is selected, the others are hidden.
Loading of Wallet
The wallet library minimal-slp-wallet is loaded at startup, and initialized with a web3 back end server. By default, the back-end server is free-bch.fullstack.cash. However, a list of back end servers provided by the PSF are loaded into a drop-down from a GitHub