BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证MemePet - X Layer meme-community companion app
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Adopt the meme. Grow the community. A meme-community companion on X Layer testnet. Adopt a wallet-linked mascot, care for it once a day, and contribute to a shared community ritual. Growth comes from confirmed care. No MemePet token to buy; network gas applies. Public homepage captured 23 September 2026 (Singapore). The mascot showcase is stage artwork, not an earned wallet state. Review in 60 seconds — no wallet needed [README 설치·사용 부분 발췌] Install and run Open localhost:3000. Browsing needs no wallet. The committed configur查看完整 README ↗
Adopt the meme. Grow the community.
A meme-community companion on X Layer testnet. Adopt a wallet-linked mascot, care for it once a day, and contribute to a shared community ritual. Growth comes from confirmed care. No MemePet token to buy; network gas applies.
Public homepage captured 23 September 2026 (Singapore). The mascot showcase is stage artwork, not an earned wallet state.
| Event | OKX Dev Day 2026 |
| Finale | Selected for the 7 October 2026 live pitch; team-provided invitation |
| Intended track | Build a Market — meme application; deployed on X Layer testnet |
| Team | The four musketeers — Deston, Kym, Larm and YeeWei |
| Live demo | memepet.vercel.app |
| Submission video | Watch the original 3:05 demo · Larm's 1 October signed-out check found it public and playable; access evidence. Later finale features are described below. |
| Contract | 0xe844152262D243a7B90F6e07FF7A67F1d7FeD216 |
| Network | X Layer testnet · chain 1952 · gas currency OKB |
| Repository | github.com/Chi944/memepet |
To try adoption and care yourself, use the wallet walkthrough with an injected wallet and X Layer testnet gas. Browsing and public sharing require neither. If several wallet extensions are available, choose the wallet app on Your pet before connecting. Changing wallet apps clears this page's connected state; connect again with the chosen app. The selection itself requests no permission. The Help page explains test gas, UTC care, confirmed versus local progress and read recovery without connecting a wallet. Planned features are labelled; no monitored support contact is claimed.
For a meme community, a price chart tells only part of the story. MemePet explores another reason to return: a small companion that grows through a daily act of care. The goal is to make participation visible and give the community a shared ritual.
This is a product hypothesis. We have not yet established organic adoption, retention or demand through community testing.
Missing a day never removes earned growth. The prototype has no MemePet token, marketplace, staking or financial rewards. Adoption and care do not request token allowances or token transfers; wallet approval and network gas are still required.
When both MetaMask and OKX Wallet are installed, choose the wallet explicitly. MemePet prefers modern wallet discovery and uses older injection methods only when no modern wallet is discovered, avoiding duplicate compatibility entries. Older extensions that only support legacy injection may be absent when a modern wallet is available. Choosing a wallet does not approve a transaction.
| Hatchling · 0 points | Buddy · 20 points | Guardian · 50 points |
|---|---|---|
Stage illustrations show the product's designs. They do not establish a recorded live evolution.
3 October: scoped genuine wallet acceptance
passed on fa07032. A real care settled automatically at 40 personal points and
14 community cares; receipt/state verification, same-chain account isolation,
actual OKX connection, same-address provider isolation and disconnect checks are
documented with their limits. The earlier failed run remains in the evidence.
This is testnet acceptance for the observed paths, not an independent security audit.
Latest release, 4a40275: the hosted wallet chooser shows one OKX Wallet
and one MetaMask option. A genuine Account 2 care updated automatically from
30 to 40 points and community 15 to 16; an ordinary reload retained those facts.
CI passed 822 app tests, 30 simulated browser cases, six fictional preview cases
and the contract checks. Release and receipt evidence
separates this result from pending-transaction recovery, which was not observed:
the care confirmed before refresh.
Finale recovery acceptance: real MetaMask testing on controlled Local Anvil
passed using unchanged runtime 4a40275. Both adoption and care retained their
actual pending hashes across refresh and confirmed without resubmission. The care
added ten points and one community care, with the correct cooldown. Mining was
held locally to make the pending interval observable; public X Layer
pending-refresh timing remains not observed.
The dated September table below belongs to product runtime af886a75.
Current implementation and remaining delivery work are tracked in
project status.
30 September finale integration: the shared garden and block-sourced recap are implemented on the overview/pet routes. A sourced, text-only XDOG reference labels its mainnet separately from MemePet's testnet; it adds no token ownership check or affiliation. Integration evidence records release checks and limits. 1 October: Kym's Explore/Practise controls are integrated with wallet-scoped browser preferences, reset and immediate answer rewording. Personality verification records automated checks and the separate hosted-browser checkpoint. Recap wording is a Standard explanation, not a model-generated response.
2 October combined release: the earned-form gallery and concise recap with
keyboard-accessible evidence are integrated. Live public/connected-page reads
and gallery interactions were checked on d0fc020; no new transaction was
performed. Combined release evidence
separates those observations from the later genuine wallet session linked above.
Recovery after refresh: this source adds a browser-local public-hash journal and read-only Check status panel. It validates transaction identity, receipt inclusion and receipt-block pet facts before showing recovered progress. Unresolved transactions block another submission; wallet/account changes clear the old view. Storage failures retain the returned hash on screen with a warning. The separate changed-release acceptance above uses real MetaMask on a controlled local chain; it is distinct from the earlier public-testnet wallet checks and simulated tests.
| Area | Verified result |
|---|---|
| Wallet flow | Genuine rejection → adoption → care; automatic 10-point pet read-back, UTC cooldown and reload persistence |
| Read recovery | Automatic community refresh showed Unknown; Retry community total recovered the receipt-block total without a reload or second transaction |
| Sharing and disconnect | Public pet displayed correct live state without connecting; Disconnect revoked site access and persisted after reload |
| Interface | Four viewport layouts, keyboard navigation, reduced-motion preview and missing/unknown-state previews checked |
| Automated checks | 123 app tests / 21 files · 15 contract tests · 8 counter checks; typecheck, lint, build and production preview gates passed |
Release CI and latest browser QA retain the actual results, read failures and unrun checks. Lint has one existing image-element warning and no errors. The 3:05 film passed technical QC; original care/refresh result stills are labelled, and no live evolution or uninterrupted successful care/refresh recording is claimed. Capture evidence records the exact footage boundaries.
Confirmed data drives the interface. Growth requires a successful receipt and fresh registry read. Unknown totals stay unknown; fictional previews never replace failed live reads. The shared total counts care actions, not users or adopted pets.
flowchart LR
A[Visitor] -->|Connect wallet| B[Adopt]
B -->|One pet per wallet| C[Pet home]
C -->|Care once per UTC day| D{Transaction}
D -->|Rejected or reverted| E[No growth awarded]
D -->|Receipt confirmed| F[Fresh registry read]
F -->|Read succeeds| G[10 growth points per care]
F -->|Read succeeds| H[Community care total]
F -->|Read fails| I[Explicit unavailable state]
I -->|Read-only recovery| F
E --> C
G --> C
| Rule | Where it is enforced |
|---|---|
| One pet per wallet | adopt() reverts with AlreadyAdopted |
| Approved community only | adopt() reverts with InvalidCommunity |
| A pet is required for care | care() reverts with NoPet |
| One care per UTC calendar day | care() reverts with AlreadyCaredToday |
| Ten growth points per care | Derived from confirmed careCount in the app |
| Buddy at 20; Guardian at 50 | Derived in the app |
| No missed-day penalty | The contract does not remove care history |
The daily boundary uses block.timestamp / 1 days: UTC midnight, or
08:00 Singapore time. Growth and stage are derived from the same confirmed
care count; they are not a separate saved balance.
| Layer | Responsibility |
|---|---|
Presentation · src/components/ | Pet, care and community views consume display values and callbacks |
Integration · src/hooks/, src/lib/ | Wallet sessions, explicit transactions, receipts, same-block reads and UI mapping |
Registry · contracts/src/PetRegistry.sol | One pet per wallet, permitted community, UTC-day care limit and shared care count |
deployment.ts declares the public testnet configuration.
Signing credentials never belong in client configuration. Development fixtures
are isolated from live reads; preview routes return 404 in production.
| Layer | Choice | Purpose |
|---|---|---|
| Framework | Next.js 16.3.8, React 19, TypeScript | Routes, rendering and server-generated share images |
| Styling | CSS Modules, custom properties, Geist / Geist Mono | Consistent black/lime interface and motion |
| Chain access | viem + an injected EIP-1193 wallet | Explicit reads and adoption/care requests |
| Contract | Solidity 0.8.24 / Foundry | Registry and UTC-day rules |
| Testing | Vitest, Testing Library, Foundry | Application and contract regression checks |
| CI | GitHub Actions | Typecheck, lint, tests, build and production preview gates |
Four runtime dependencies: next, react, react-dom, viem.
| Network | Chain ID | Registry |
|---|---|---|
| X Layer testnet | 1952 | 0xe844152262D243a7B90F6e07FF7A67F1d7FeD216 |
Deployment transaction · block 41,543,244. No mainnet deployment is claimed.
The executable runtime was compared with the deployed contract; compiler metadata differs after an SPDX comment change. Deployment evidence details the comparison; explorer source verification is not claimed.
.nvmrc) and npm 11.19.x.git clone https://github.com/Chi944/memepet.git
cd memepet
npm ci
npm run dev
Open localhost:3000. Browsing needs no wallet. The committed configuration reads the public X Layer testnet registry, so live data needs network access. Production builds also download Google Fonts.
| Route | Purpose |
|---|---|
/ | Overview, stage artwork and community progress |
/pet | Connect, adopt, care, inspect the shared garden and ask for a verified activity recap |
/pet/<wallet-address> | Read-only public pet page and generated share image |
/help | Wallet setup, test gas, daily care, recovery and support guidance |
/api/companion | Read-only, block-sourced MemePet facts and standard explanations; GET describes the API, POST reads a public address |
/dev/pet | Fictional pet stages and care-state previews |
/dev/landing | Fictional landing preview |
/dev/community | Loading, zero, growing, unavailable and other community previews |
/dev/finale | Fictional shared inputs for the finale companion, personality and mission work |
/dev/companion | Fictional recap facts, explanations and failure states |
/dev/beta | Fictional onboarding, wallet-choice, recovery, Help and milestone states |
The /dev/* routes return 404 in production. CI checks that gate.
For local Anvil setup, use development setup and
.env.example; keep private overrides in gitignored .env.local.
The app runs on Vercel. Configuration and deployment procedures are documented in Vercel setup and X Layer deployment.
npm run typecheck
npm run lint
npm test
npm run build
node --test docs/qa/counter-check.regression.mjs
node --test docs/qa/rpc-recovery.regression.mjs
node --test docs/qa/wallet-preflight.regression.mjs
The development guide also
documents npm run test:e2e:simulated and npm run test:e2e:previews. Simulated
wallets and fictional previews are explicitly separate from real-wallet evidence.
Use Foundry v1.8.3 and the pinned test library before running contract checks (full setup):
cd contracts
forge install foundry-rs/forge-std@rev=bf647bd6046f2f7da30d0c2bf435e5c76a780c1b --no-git
cd ..
npm run test:contracts
CI runs these checks and starts the production build to assert / returns 200
and the /dev/* preview pages return 404. Automated passes are separate from the
real browser-wallet walkthrough.
contracts/ Solidity registry, deployment script and contract tests
src/app/ Routes, public pet/share images and gated previews
src/components/ Pet, care, landing, community and shared presentation
src/hooks/ Wallet, pet registry and community integration
src/lib/ Deployment, reads, progression and view-model mapping
src/fixtures/ Fictional preview/test data only
public/pets/ Three stage illustrations and share backgrounds
docs/ Setup, scope, deployment, acceptance and dated evidence
Raw media, editable video sources and exports are preserved in the private submission archive. Product code, tests, operational guides and evidence remain in this repository.
The prototype supports one community, one mascot and three stages, with a wallet-linked registry, daily care, public viewing and a shared care count.
A token economy, NFT trading, marketplace, staking, breeding and social feed are outside the agreed scope. Multiple communities, accessories and a read-only holder indicator remain optional future work.
The team has been selected for the 7 October finale. The approved extension keeps Build a Market as the primary direction: reliable confirmed reads, one verified community reference, a cosmetic shared garden at 20 confirmed cares, browser-local personality, and a grounded MemePet activity recap. These are tracked as separate deliverables so implemented features and real wallet evidence are not confused.
The shared services now implement a block-verified recap API, isolated local personality storage and a confirmed-total garden adapter. Larm's garden and YeeWei's recap panels now have live route integration. Kym's personality controls use the same existing adapter; preferences change explanation style, not earned growth. Dated verification separates automated and read-only browser checks from genuine wallet actions.
The core/finale features and B0–B5 beta implementation are integrated. Scoped public wallet acceptance and the separate controlled-local real-wallet recovery check are recorded. The agreed finale/testnet delivery checklist is complete; this does not establish mainnet readiness or eliminate the limitations above. A labelled 2:14 silent finale backup is delivered and has passed full local playback; its recording and verification limits remain explicit. The team confirmed its timed rehearsal complete on 3 October; this is a team-reported result, not a venue-equipment check. On the day, verify the display equipment and reserve the pitch wallet's daily care for the demo. The free OKX.AI service packet is prepared; registration and a genuine call through OKX.AI remain pending. No included model credits or deployed AI chat are claimed. The parallel build plan assigns isolated work to all four members. Optional future work and verification limits stay explicit in current status.
| Contributor | Project contribution |
|---|---|
| Deston — lead | Contract, wallet/data integration, routes, shared UI, CI, deployment and release checks |
| Kym — pet experience | Pet and earned-form presentation, artwork finishing, personality controls, onboarding and cosmetic milestones |
| Larm — community experience | Landing/community UI, Help copy, QA and finale runbook |
| YeeWei — activity experience | Verified recap and evidence interface, recovery/Help presentation and browser regression scenarios |
Responsibilities are documented in file ownership.
Built with Next.js, React,
viem, Foundry,
Vitest and Testing Library.
Fonts: Geist and Geist Mono, loaded through next/font. Copyright 2024
The Geist Project Authors; SIL Open Font License 1.1.
AI coding tools were used during development. Dated evidence distinguishes implementation, automated checks, browser observations and planned work.