尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗memechain is a small blockchain where every meme is an inscription: the picture's SHA-256 goes into a signed
transaction, a miner puts it into a block, and from then on the meme has one owner who can list it and sell it.
The same consensus rules run twice: in node.py for the public testnet, and in docs/chain.js inside your browser,
where you can mine, inscribe and trade on a chain of your own without installing anything. 1,684 people used it during
the test phase.
node.py's own code, inscribes memes from testnet/pool/ and stamps every 10th
block into Bitcoin with OpenTimestamps. The site reads the export from the
testnet branch, so it shows new blocks without anyone
running a server.localStorage; nobody else sees it.chain.json that the Python
node confirms: python tools/validate_export.py memechain-browser-chain.json.testnet/pool/ and a caption to
testnet/pool/captions.json. The bot inscribes the pool one meme at a time.| Proof of work | double SHA-256 over height|prev|time|merkle|target|nonce, Bitcoin-style |
| Block time | 60 s target, retarget every 10 blocks, clamped to 0.25x to 4x |
| Reward | 50 MEME per block plus fees, halving every 100,000 blocks |
| Wallets | secp256k1, RFC 6979 signatures over canonical JSON, address = meme1 + SHA-256 of the public key |
| Memes | the chain stores the image hash, size and caption; nodes and the explorer keep the bytes |
| Fork choice | longest valid chain; every 10th block hash anchored in Bitcoin via OpenTimestamps |
| Browser chain | identical rules, only MC_INITIAL_BITS=16 and MC_BLOCK_TIME=1 so blocks take about a second on a phone |
| Transaction | Fields | Rule |
|---|---|---|
coinbase | to, amount, height | first tx of a block; amount = reward + fees |
transfer | to, amount, fee | sender balance ≥ amount + fee |
meme | img_sha256, img_ext, img_size, caption, fee ≥ 1 | image hash not inscribed yet; sender becomes owner |
sell | img_sha256, price (0 = delist) | sender owns the meme |
buy | img_sha256, amount = listed price, fee | meme is listed; price goes to the owner, ownership to the buyer |
Every non-coinbase transaction carries from, pubkey, nonce, sig and txid. State is balances, seen nonces,
owners (img_sha256 → address) and listings (img_sha256 → price).
git clone https://github.com/larajeftic/memechain
cd memechain
pip install flask requests ecdsa pillow opentimestamps-client
python node.py # explorer and API on http://localhost:5050
The node mines to its own wallet in data/wallet.json (git-ignored, keep it private). With MC_PUBLISH=1 it commits
the explorer export to docs/ after each block; with a GITHUB_TOKEN in .env it inscribes images posted as issues.
Environment: MC_PORT, MC_PEERS, MC_MINE, MC_PUBLISH, MC_INITIAL_BITS, MC_BLOCK_TIME, MC_DATA, MC_DOCS,
MC_ANCHOR_EVERY, MC_GH_REPO.
API: GET /api/status, /api/chain, /api/block/<height|hash>, /api/mempool, /api/balance/<addr>, /api/market,
/api/wallet/new; POST /api/faucet {"address"}, /api/meme (multipart image, caption, private_key),
/api/tx, /api/block, /api/peers; GET /meme/<sha256>.
node.py testnet node: consensus, miner, P2P, export, OpenTimestamps, issue intake
docs/ the website (GitHub Pages, branch main, folder /docs)
index.html, style.css page and theme
app.js testnet view, browser miner, market, explorer
chain.js consensus rules ported from node.py (noble-secp256k1 + noble-hashes in vendor/)
img/ bundled memes and the Pepe/Doge characters, see img/ATTRIBUTION.md
logo.html, logo.png the mark: the block with the characters, rendered to logo.png, icons and favicons
readme/ banner source and the screenshots in this README
testnet/pool/ images the testnet bot inscribes, with captions.json
tools/testnet_bot.py one bot run: load + re-validate, mine, inscribe, anchor, export
tools/logo_assets.py renders docs/logo.html into logo.png, icon-512/192, apple-touch icon and favicons
tools/readme_assets.py renders banner, social preview and screenshots (runs logo_assets.py first)
tools/validate_export.py validates any exported chain with node.py's code
tests/ JS-to-Python cross validation, unit tests, Playwright walkthrough
python tools/serve.py 8080 # serve docs/ with correct MIME types
npm test # JS chain export -> Python validator -> unit tests
python tests/e2e_browser.py # Playwright walkthrough in the installed Chrome
python tools/readme_assets.py # regenerate the README images
python tools/check_public.py # no credentials in docs/ or the git index
No build step: GitHub Pages serves docs/ as it is.
Deliberately outside this demo, never a token sale and never a promise of returns: real-money sales of memes with a
hot/cold treasury (the on-chain sell/buy flow exists, settlement would go through a payment provider), pinning and
hosting of meme images for node operators, a clearly labelled sponsored slot in the explorer, prints with block hash and
timestamp, and private chains with these rules for teams.
MIT, see LICENSE. Chain pattern after Learn Blockchains by Building One
(MIT) and Bitcoin's header and retarget rules. Cryptography by noble-secp256k1 and noble-hashes (MIT). Meme images and
the Pepe/Doge characters are small non-commercial demo copies, credited in
docs/img/ATTRIBUTION.md and removed on request.