A decentralized sticky-note board on Polkadot. Pin your feedback, notes, or thoughts to a shared board — everyone using a remix of this app sees the same notes, because they all read from the same on-chain contract.
- A sticky note is stored as JSON on the Bulletin Chain and gets a content-addressed CID.
- A smart contract on Asset Hub keeps an ordered list of those CIDs (plus the H160 of whoever posted each note).
- To render the board, the app reads all CIDs from the contract, fetches each note's JSON from a Bulletin IPFS gateway, and pins them up as sticky notes.
- Color and tilt of each note are derived deterministically from its CID — everyone sees the same board, but it still looks playfully random.
Because every remix uses the same @example/feedback contract, the board is shared across all forks.
- Smart contract — PVM (PolkaVM) on Paseo Asset Hub Next, managed via CDM
- Bulletin Chain — host-mediated preimage submission via
@novasamatech/product-sdk(preimageManager) - Account management —
@novasamatech/product-sdkcreateAccountsProvider()with the"createTransaction"signer path (preserves Paseo Next'sAsPgas/AsRingAliassigned extensions). Requires Polkadot Desktop ≥ 0.3.10. - Contracts —
@parity/product-sdk-contractsContractManagerwith lazy chain follow +ensureContractAccountMappedfor Revive mapping. - Frontend — React + Vite
npm install
npm run devOpen the app in Polkadot Desktop or Polkadot Mobile. Localhost dev mode uses a direct WS provider to Paseo Asset Hub Next.
cdm build
npm run deploy
cdm install @example/feedback -n paseonpm run deploy targets Paseo Next v2 endpoints explicitly:
- Asset Hub:
wss://paseo-asset-hub-next-rpc.polkadot.io - Bulletin:
wss://paseo-bulletin-next-rpc.polkadot.io
cdm install updates cdm.json with the deployed address. The repo ships with a placeholder address (0x0…0); after the first deploy, commit the updated cdm.json so remixes pick up the shared contract.
npm run build:frontend
npx bulletin-deploy --env paseo-next-v2 ./dist <your-domain>.dotThis app is designed to be remixed via the Polkadot Playground. Forks keep the same contract address in cdm.json, so all remixes read and write to the same board.
Ideas to fork:
- Add reactions (like/heart counts per note)
- Group notes into columns by topic
- Add a "burn" countdown that fades notes after N days
- Allow image attachments stored on Bulletin