Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MostroP2P/mostro-web
Mostro web client
https://github.com/MostroP2P/mostro-web
bitcoin lightning-network nostr web-client
Last synced: 24 days ago
JSON representation
Mostro web client
- Host: GitHub
- URL: https://github.com/MostroP2P/mostro-web
- Owner: MostroP2P
- License: mit
- Created: 2023-04-03T14:59:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-13T01:11:49.000Z (about 1 month ago)
- Last Synced: 2024-11-13T02:20:21.170Z (about 1 month ago)
- Topics: bitcoin, lightning-network, nostr, web-client
- Language: Vue
- Homepage: https://mostro.network
- Size: 3.07 MB
- Stars: 23
- Watchers: 5
- Forks: 12
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - mostro-web - web.svg?style=social) - Web client to operate with Mostro (WIP) (Peer-to-peer markets / Client reviews and/or comparisons)
README
## Mostro Web
Super early version of a web client for the [Mostro](https://github.com/MostroP2P/mostro) P2P System.
This project is a web interface that facilitates peer-to-peer bitcoin trading over the lightning network ⚡️ using nostr 🦩. The lightning network is a layer 2 scaling solution for bitcoin that enables fast and low-cost transactions.
### Prerequisites
#### Node.js and NPM
Node.js: Recommended version: `v20.15.1`NPM: Recommended version: `10.7.0`
#### Mostro
* Clone [Mostro](https://github.com/MostroP2P/mostro)
* See detailed instructions [here](https://github.com/MostroP2P/mostro?tab=readme-ov-file#requirements)### Installation
#### 1- Clone the repository
```bash
git clone [email protected]:MostroP2P/mostro-web.git
```#### 2- Install Node Dependencies
```bash
npm install
```
#### 3 - Set up configuration
- Create a new environment file by `cp .env-sample .env`. Here you'll want to set 2 environment variables:- `RELAYS`: A comma separated list of relays URLs. For example:
```bash
RELAYS=wss://relay.mostro.network,wss://relay.nostr.net
```
- `MOSTRO_PUB_KEY`: This is the identity of the mostro daemon you want to interact with and should match the private key (nsec) you specified in `mostro`. For example:
```bash
MOSTRO_PUB_KEY=npub19m9laul6k463czdacwx5ta4ap43nlf3lr0p99mqugnz8mdz7wtvskkm5wg
```Once this is set, just run `source .env` to load these environment variables.
**Obs.** It is also possible, and sometimes desirable to run a private relay. There are instructions on how to do this with a docker container in the [mostro]([https://github.com/MostroP2P/mostro](https://github.com/MostroP2P/mostro?tab=readme-ov-file#option-1-run-mostro-with-a-private-dockerized-relay)) repository.
### 4. Run it
```bash
$ npm run dev
```That's it! 🎉
For detailed explanation on how things work, check out the [documentation](https://nuxtjs.org).
### Features
- [x] Posts Orders (Buy & Sell)
- [x] Displays order list
- [x] Decodes DMs from mostro
- [x] Buy flow (maker / market rate)
- [x] Buy flow (maker / fixed price)
- [x] Sell flow (maker / market rate)
- [x] Sell flow (maker / fixed price)
- [x] Buy flow (taker / market rate)
- [x] Buy flow (taker / fixed price)
- [x] Sell flow (taker / market rate)
- [x] Sell flow (taker / fixed price)
- [x] Handling multiple relays
- [x] NIP-07 for key management
- [x] Persisting old events
- [x] Direct message with peers
- [x] Disputes
- [ ] NIP59 support### Generic Nuxt Scripts
This is a Nuxt 3 project, and as such you have these scripts to build an SSR ready version and/or generate a static release.```bash
# Production build and version generation
# There's no need to run this every time, but run this at least once
# before running `npm run dev`
$ npm run build# serve with hot reload at localhost:3000
$ npm run dev# build for production and launch server
$ npm run build
$ npm run start# generate static project
$ npm run generate
```### License
This project is licensed under the MIT License 📜. See the `LICENSE` file for more information.