BEAM NFT Marketplace
  • Vue 58.5%
  • JavaScript 40.7%
  • Shell 0.5%
  • CSS 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-29 21:31:55 +02:00
.github ci: build release notes from the commit log 2026-08-29 21:31:55 +02:00
.vscode Refactor according to eslint 2022-03-17 21:45:38 +04:00
html fix: drop the root comments that made the collection card a fragment 2026-08-29 21:25:53 +02:00
scripts ci: build and package .dapp on push and tag 2026-08-29 20:09:51 +02:00
src fix: drop the root comments that made the collection card a fragment 2026-08-29 21:25:53 +02:00
.eslintignore build: migrate to yarn 4 2026-08-29 20:02:16 +02:00
.eslintrc.json build: scope node env to the networks module 2026-08-29 20:06:37 +02:00
.gitignore build: migrate to yarn 4 2026-08-29 20:02:16 +02:00
.stylelintignore build: migrate to yarn 4 2026-08-29 20:02:16 +02:00
.stylelintrc.json stylelint, cosmetics 2022-03-17 16:36:33 +03:00
.yarnrc.yml build: migrate to yarn 4 2026-08-29 20:02:16 +02:00
manifest.json chore: add dapp build script 2026-08-29 20:02:17 +02:00
package.json build: migrate to yarn 4 2026-08-29 20:02:16 +02:00
README.md docs: remove architecture section 2026-08-29 20:36:09 +02:00
webpack.config.js core: add switchable network presets 2026-08-29 20:02:16 +02:00
yarn-error.log gallery wip 2022-05-06 01:07:59 +03:00
yarn.lock build: migrate to yarn 4 2026-08-29 20:02:16 +02:00

BEAM NFT Gallery

NFT marketplace for Beam. Vue 3 SPA, no backend: it talks to the gallery shader through a Beam wallet, and images come from IPFS.

Runs three ways — as a DApp in the Beam Desktop Wallet, in the browser with the Beam Web Wallet extension, or standalone in the browser using a headless WASM wallet.

Setup

Needs Node 18+ and Yarn 4 (corepack enable is enough — the version is pinned in package.json).

yarn install
yarn serve

Dev server runs on http://localhost:13666.

In a plain browser this starts the headless WASM wallet, which has to sync before anything shows up. It's usually quicker to point the Desktop Wallet at the dev server instead, since that uses the wallet's own node.

yarn serve dev server, port 13666
yarn watch rebuild into html/ on change
yarn build production build into html/
yarn build:dapp package nft-gallery.dapp

ESLint and stylelint run as webpack plugins, so lint errors break the build. No tests.

Networks

Node, gateways, contract id and wasm client are in src/networks.js. Change ACTIVE to switch. It's CommonJS because webpack.config.js reads it too, to pick the wasm client to bundle — the build fails outright if that package isn't installed.

Mainnet and dappnet need different client packages (beam-wasm-client vs beam-wasm-client-dappnet); they're separate chains with different rules.

In the desktop wallet only cid matters — that build uses the wallet's own node and ignores everything else in the preset.

Packaging

yarn build:dapp

Zips the build plus a manifest into nft-gallery.dapp, which the wallet can install. The patch version is the commit count; override with MANIFEST_VERSION=1.1.0 yarn build:dapp.

Notes for contributors

Match the surrounding style: no semicolons, single quotes, 2-space indent, Stylus in .vue files.

The deployed contract isn't in this repo, and the gallery shader in the beam repo is an older version of it — don't use it to reason about what's live. Ask the gateway instead:

curl 'https://apps-dappnet.beam.mw/cache/view_collections?id0=0&count=1'

License

Apache-2.0