尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Daily profit leaderboard for XO Market's markets and convictions. Who locked in the most today, who's racing ahead, and where you stand. One board for markets, one for convictions.
→ xo-maco-board.vercel.app · convictions: /#convictions
/#contest) shows while a contest is set in config.json.shares × (price − average entry). This matches XO's own figure to the cent. Fees are left out.flowchart LR
XO[(XO public API)] -->|every ~10 min| IDX[GitHub Action<br>scripts/build-board.mjs]
IDX -->|force-push| DATA[data branch<br>days.json + state.json]
DATA --> FN[api/data.js] --> PAGE[index.html]
PAGE -.->|data looks old| NUDGE[api/nudge.js] -.->|restart| IDX
The indexer, each run:
data/days.json, the only file the page reads. state.json keeps what was already read.node dev.mjs # http://localhost:8774, re-runs the indexer every 10 minutes
NO_REFRESH=1 node dev.mjs # serve only
The first build, or a rebuild, is thousands of requests, which Cloudflare blocks from GitHub's servers. Run it at home and publish it:
FULL=1 node scripts/build-board.mjs && scripts/publish.sh
api/ functions.board Action keep it fresh.GH_TOKEN env var in Vercel (fine-grained, Actions: read and write on this repo) lets api/nudge.js restart the Action
when GitHub skips its schedule, and lifts the GitHub API limit for api/data.js.REF at the top of the page script to your own referral link.config.json: windowDays is how many past days are (re)read, exclude lists usernames kept off the boards (XO's market maker), and contest (slug, url) names the XO contest behind the Contest view. Dates, prizes and rules come from XO. Remove it and the view goes away.
| Path | |
|---|---|
index.html | The whole site (static, no build step). |
scripts/build-board.mjs | The indexer (no dependencies). |
scripts/publish.sh | Pushes local data to the data branch by hand. |
.github/workflows/board.yml | Runs the indexer every ~10 min and publishes the data. |
api/data.js | Serves days.json from the data branch through the GitHub API (raw.githubusercontent caches files for 5 minutes). |
api/nudge.js | Restarts the Action when the data gets old. |
dev.mjs | Local preview server. |
marketScope=onlyClob includes Pulse rounds (market type 3); markets are type 2, convictions type 4 (onlyConviction)./markets/<id>/activity lists taker trades only. /markets/activities?marketScope=onlyConviction is one feed for all convictions
(the same call with onlyClob fails).Built by Andriy_shkinder for the XO community, from XO's public data.