Skip to content

Commit 11d7dab

Browse files
committed
fix: replace dead AlgoExplorer with Lora, real screenshot, demo README
- demo/App.vue: testnet.algoexplorer.io (sunset) → lora.algokit.io - demo/App.vue: rename column AlgoExplorer → Transaction, open links in new tab, fix typo demostration → demonstration - demo/README.md: replace vue-cli scaffold with real description of the demo - assets/demo-screenshot.png: capture of the live demo (was missing, README link was broken on GitHub)
1 parent 24de2e4 commit 11d7dab

3 files changed

Lines changed: 41 additions & 19 deletions

File tree

assets/demo-screenshot.png

61.7 KB
Loading

demo/README.md

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,46 @@
1-
# demo
1+
# algo-ipfs demo
22

3-
## Project setup
4-
```
3+
Vue 2.7 front-end for the [Algorand-IPFS Integration](https://github.com/redcpp/algorand-ipfs-js) library. Lists every file registered on-chain for a given Algorand address (using zero-Algo note transactions as a public index), and links each entry to its IPFS gateway and explorer page.
4+
5+
**Live:** [algo-ipfs.surge.sh](https://algo-ipfs.surge.sh/)
6+
7+
## How it works
8+
9+
1. On load, queries the AlgoNode **indexer** for all transactions sent by the demo address (hardcoded as a TestNet account in `src/components/Algorand.vue`).
10+
2. Decodes each transaction's note field into `{ filename, cid }`.
11+
3. Renders the list with links to:
12+
- **IPFS gateway** (`ipfs.io`) — to fetch the file content
13+
- **Lora explorer** (`lora.algokit.io`) — to inspect the on-chain transaction
14+
15+
The encrypted file in the list (`algorand_white_paper.pdf`) is downloadable but its contents are AES-encrypted — you need the CLI in the parent repo with the matching `ENCRYPTION_PASSWORD` to decrypt.
16+
17+
## Stack
18+
19+
- Vue 2.7 + Vue CLI 5
20+
- `algosdk` v2 (browser indexer client)
21+
- AlgoNode public indexer — no API key needed
22+
- Deployed as static SPA on [Surge](https://surge.sh)
23+
24+
## Run locally
25+
26+
```bash
527
npm install
28+
npm run serve # dev server with hot reload on :8080
29+
npm run build # production bundle to dist/
30+
npm run lint
631
```
732

8-
### Compiles and hot-reloads for development
9-
```
10-
npm run serve
11-
```
33+
## Deploy
1234

13-
### Compiles and minifies for production
14-
```
35+
```bash
1536
npm run build
37+
npx surge dist algo-ipfs.surge.sh
1638
```
1739

18-
### Lints and fixes files
19-
```
20-
npm run lint
21-
```
40+
## Configuration
41+
42+
The AlgoNode endpoint and demo address live in `src/components/Algorand.vue`. To point at MainNet or a different account, edit the constants at the top of that file.
43+
44+
## Why Vue 2
2245

23-
### Customize configuration
24-
See [Configuration Reference](https://cli.vuejs.org/config/).
46+
The original 2020 project was Vue 2. The 2026 migration kept Vue 2.7 (the LTS final of the v2 line) rather than rewriting in Vue 3 — same component code works under Vue CLI 5 on modern Node, with much smaller diff. Vue 3 + Vite would be a sensible next refactor if anyone wants it.

demo/src/App.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<div class="container">
1010
<p style="margin: 50px auto 10px auto;">
1111
<small>
12-
For demostration purposes the algorand_white_paper.pdf is the only encrypted file. Use the
12+
For demonstration purposes the algorand_white_paper.pdf is the only encrypted file. Use the
1313
<a href="https://github.com/redcpp/algorand-ipfs-js">Algorand-IPFS Integration</a>
1414
to visualize its contents.
1515
</small>
@@ -18,15 +18,15 @@
1818
<li class="table-header">
1919
<div class="col col-1">Filename</div>
2020
<div class="col col-2">IPFS Hash</div>
21-
<div class="col col-3">AlgoExplorer</div>
21+
<div class="col col-3">Transaction</div>
2222
</li>
2323
<li v-for="file in files" :key="file.filename" class="table-row">
2424
<div class="col col-1">{{ file.filename }}</div>
2525
<div class="col col-2 small">
26-
<a :href="`https://ipfs.io/ipfs/${file.cid}`">{{ file.cid }}</a>
26+
<a :href="`https://ipfs.io/ipfs/${file.cid}`" target="_blank" rel="noopener">{{ file.cid }}</a>
2727
</div>
2828
<div class="col col-3 small">
29-
<a :href="`https://testnet.algoexplorer.io/tx/${file.txn}`">{{ file.txn }}</a>
29+
<a :href="`https://lora.algokit.io/testnet/transaction/${file.txn}`" target="_blank" rel="noopener">{{ file.txn }}</a>
3030
</div>
3131
</li>
3232
</ul>

0 commit comments

Comments
 (0)