Skip to content

Commit

Permalink
chore: fix documnetation
Browse files Browse the repository at this point in the history
- Updated project information and links
- Emphasise important information
- Tidy up

fixes #23
  • Loading branch information
LeslieOA committed Sep 21, 2024
1 parent 6988fb1 commit af7ccd3
Showing 1 changed file with 55 additions and 21 deletions.
76 changes: 55 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,65 @@
# Edaga

A rough companion MVP to [this ARC](https://github.com/algorandfoundation/ARCs/issues/86). See the Current Message Format section.
> [!NOTE]
> A rough companion MVP to [this ARC](https://github.com/algorandfoundation/ARCs/issues/86).
> See the Current Message Format section.
Note that this MVP directly queries a [free indexer hosted by AlgoNode](https://algonode.io/). In the proposal I suggest an additional layer, an aggregation layer that would handle filtering, recommendation, caching, etc; that would in turn feed the UI-layer.

The app gets built and published to Github Pages and be [viewed here](https://hashmapsdata2value.github.io/edaga/). However, GitHub Pages and React-Router do not mesh well so, until a superior (non-free) solution is made, it's suggested that you pull down the code and simply run `bun dev`.

# TODO
Note that this MVP directly queries a [free indexer hosted by AlgoNode](https://algonode.io/).
In the proposal I suggest an additional layer, an aggregation layer that would handle filtering, recommendation, caching, etc; that would in turn feed the UI-layer.

- [x] Setup basic site that can be interacted with if you manually format out a transaction message and send from a wallet.
- [x] Improve UI and make responsive.
- [ ] Add a text field and submit button allowing your address to submit a transaction.
- [ ] Add Wallet Connect integration, such that you can "log in" with it. [Fiona Chan's repo can serve as an example.](https://github.com/fionnachan/algorand-wallet-walletconnect-redux).
- [ ] Add a "reply" button that shortcuts into the text field.
- [ ] Add 👍, 👎 react buttons
- [ ] Add QR-code generation (for scanning with Pera Wallet), using [MG's Algorand QR code generator repo](https://github.com/emg110/algorand-qrcode). It should be autogenerating a new QR code with each key stroke.
- [ ] Add AlgoSigner integration.

# Current Message Format
## Quickstart

To interact with this message board you need to send ***0*** (ZERO) Algo transaction to a specific address with a message in the note field. That message needs to be formatted in a specific way. Note that it is a ZERO Algo transaction. You will ***never be asked to send Algo to ANYONE***. At most you can choose to spend a higher transaction fee, to show how "strongly" you feel about something; but that transaction fee is recycled through the Algorand protocol.
### Requirements

This app is currently ***set to testnet***.
This project uses [Bun](https://bun.sh/) as a fast, all-in-one TypeScript development environment.

The specific address is controlled by Hash: [K22E7O64EMVMBVPUQ53VVXN2U4WCYL7XN6PHOYMNNEBSNM6RMMKJZ3OAMI](https://testnet.explorer.perawallet.app/address/K22E7O64EMVMBVPUQ53VVXN2U4WCYL7XN6PHOYMNNEBSNM6RMMKJZ3OAMI). Once again, do NOT send any Algo. Specify 0 (ZERO) Algo.

### Development

- `bun run dev`
- Visit `http://localhost:5173/`


### Build

- `bun run build`
- `bun run preview`


Static builds of Edaga are hosted on [Render](https://render.com/) at [https://edaga-27kn.onrender.com/](https://edaga-27kn.onrender.com/).


## TODO

> See [our issues](./issues) for all TODOs
- [x] Setup basic site that can be interacted with if you manually format out a transaction message and send from a wallet
- [x] Improve UI and make responsive
- [x] Add a text field and submit button allowing your address to submit a transaction
- [x] Add Wallet Connect integration, such that you can "log in" with it
- [x] Add a "reply" button that shortcuts into the text field
- [ ] Add up-voting (👍) and down-voting (👎) messages


## Message Format

To interact with this message board you need to send ***0*** (ZERO) ALGO transaction to a specific address with a message in the note field. That message needs to be formatted in a specific way. Note that it is a ZERO ALGO transaction. You will ***never be asked to send ALGO to ANYONE***. At most you can choose to spend a higher transaction fee, to show how "strongly" you feel about something; but that transaction fee is recycled through the Algorand protocol.

> [!IMPORTANT]
This app is currently set to testnet

The specific address is controlled by Hash: [K22E7O64EMVMBVPUQ53VVXN2U4WCYL7XN6PHOYMNNEBSNM6RMMKJZ3OAMI](https://testnet.explorer.perawallet.app/address/K22E7O64EMVMBVPUQ53VVXN2U4WCYL7XN6PHOYMNNEBSNM6RMMKJZ3OAMI).

> [!WARNING]
> Once again, do NOT send any ALGO. Specify `0` (ZERO) ALGO.
At this stage of the project we are making use of the Algorand indexer's API, which has note-prefix search functionality. In the future something more advanced could be made (e.g. by fiddling with the PostgreSQL, depositing the notes into Elasticsearch, putting it behind a RedisDB Cache) but for now we just make the best of the API available.

To post a message will cost you, at least, 0.001 Algo.
To post a message will cost you, at least, `0.001` ALGO.


### To Post to ALL:

Expand All @@ -46,14 +78,16 @@ Note that the topic name will be case-sensitive.

### To Respond to a Previous Transaction X:

- `ARC00-0;r;{Transaction Id for X};{Your Reply}`
- `ARC00-0;r;{Transaction ID for X};{Your Reply}`
- E.g.: `ARC00-0;r;PZSXOYGMX36BAFU5MRPT6FGP5LTNWM63FT642UNT3ZOUTLTHI3KQ;SomeOtherPerson;Hello HMD2V, hope you're doing well!`

You can also like or downvote someone:
You can also "upvote" or "downvote" someone:

- :+1:`ARC00-0;l;{Transaction Id for X};{Your Nickname}`
- :-1: `ARC00-0;d;{Transaction Id for X};{Your Nickname}`
- :+1:`ARC00-0;l;{Transaction ID for X};{Your Nickname}`
- :-1: `ARC00-0;d;{Transaction ID for X};{Your Nickname}`
- E.g.: `ARC00-0;d;PZSXOYGMX36BAFU5MRPT6FGP5LTNWM63FT642UNT3ZOUTLTHI3KQ;Hater`


## Etymology

Edaga (እዳጋ, uh-da-ga) means market in Tigrinya, a language spoken in Eritrea and Tigray. It is a translation of the Latin "Forum", which originally referred to public outdoor places primarily reserved for selling goods in the Roman Empire.

0 comments on commit af7ccd3

Please sign in to comment.