HivePaaS
Docker Swarm 기반 오픈소스 자체 호스팅 PaaS, SSL·백업·자동 확장 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.