Skip to content

easyshellworld/polkaink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

63 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PolkaInk

"When a chain's history begins to be forgotten, its future is already dead."

GitHub license PRs Welcome GitHub Repo stars Open Issues Last Commit

Polkadot Solidity OpenZeppelin Hardhat

React TypeScript Tailwind CSS viem

CI/CD Tests Chain ID i18n


πŸ“– What is PolkaInk?

PolkaInk is an on-chain, DAO-governed history preservation protocol built on Polkadot Asset Hub. It encodes Polkadot ecosystem history documents β€” written in Markdown β€” directly as transaction calldata into the chain itself. No database. No cloud. No IPFS. Only the block.

Access is gated by staking (88 PAS), but staking only buys entry β€” not voice. Voting weight is earned through writing contributions accepted by the community and through lock-up duration. No wallet can buy dominance; power can only be won.

Every word committed through PolkaInk is as permanent as the block that holds it. When AI-generated disinformation floods the internet and centralized platforms silently rewrite history, PolkaInk builds a human-consensus truth layer that no one can forge or erase.

Rome's history should be carved into columns cast by Romans themselves.
Polkadot's history belongs on Polkadot β€” and nowhere else.


πŸ”— Project Resources

Resource Link
🌐 Live Demo polkaink.netlify.app
πŸ“Š Pitch Deck polkaink.netlify.app/ppt.html
🎬 Demo Video YouTube
πŸ“ Design Document polkaink_dev_doc_v3_4.md

✨ Core Features

  • πŸ“œ Calldata-Native Storage β€” Document content is encoded as calldata directly into Polkadot Asset Hub blocks. Permanent as the chain itself; verifiable by any full node offline, no external service required.
  • πŸ—³οΈ Stake-Gated DAO Governance β€” 88 PAS stake grants membership. Voting weight is determined by writing history (Creator NFTs) and lock-up time β€” not wallet size. Single-actor passage is mathematically impossible (max real weight 1.80 < threshold 2.00).
  • πŸ›‘οΈ Archive Council β€” 7 genesis members with collective veto power only (5/7 threshold). They can block harmful content; they cannot write or alter history. Every veto requires a β‰₯50-byte on-chain reason, permanently recorded.
  • ⏳ 48h Timelock β€” All governance upgrades pass through a mandatory delay, preventing rushed or malicious changes.
  • πŸ… Soulbound NFT Rewards β€” Three on-chain NFT types: Member (stake to join), Creator (earn by contributing accepted history), Guardian (genesis council, minted at deploy, non-transferable, no voting bonus). All Soulbound in the demo phase.
  • πŸ’° Open Treasury β€” Community-governed reward pool; anyone can donate. Epoch-based rewards (30-day cycle) are distributed to proposers and voters independent of their vote stance, keeping judgment honest.
  • πŸ”„ Zero-Admin Architecture β€” After deployment, no privileged admin exists. SEED_CREATOR_ROLE is renounced after seeding; Guardian NFT has no GUARDIAN_MINTER_ROLE; council membership is frozen until Phase 1 election contracts go live.
  • 🌐 Multilingual β€” Interface in English, δΈ­ζ–‡, FranΓ§ais, Русский, EspaΓ±ol, Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©.

πŸ›οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Frontend Β· React 19 + Vite + TypeScript            β”‚
β”‚  Tailwind CSS v4 Β· wagmi v2 Β· viem v2 Β· Zustand         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚  wallet connect
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          Polkadot Asset Hub Β· pallet-revive (REVM)       β”‚
β”‚  Chain ID 420420417 Β· Solidity 0.8.28 Β· UUPS Proxy (OZ)  β”‚
β”‚                                                         β”‚
β”‚  PolkaInkRegistry   VersionStore    GovernanceCore      β”‚
β”‚  ArchiveCouncil     NFTReward       Treasury             β”‚
β”‚  StakingManager     VotingMath                          β”‚
β”‚  TimelockController (48h)           ProxyAdmin           β”‚
β”‚                                                         β”‚
β”‚        Markdown content  =  transaction calldata        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Archive Council β€” 7 members Β· 5/7 collective veto      β”‚
β”‚  Can protect history. Cannot rewrite it.                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Layer Stack
Blockchain Polkadot Asset Hub β€” pallet-revive + REVM
Contracts Solidity 0.8.28 Β· Hardhat Β· OpenZeppelin UUPS Β· @parity/hardhat-polkadot
Frontend React 19 Β· Vite Β· TypeScript Β· Tailwind CSS v4 Β· wagmi v2 Β· viem v2
State Zustand + React Query
i18n en / zh / fr / ru / es / ar (i18next)

πŸ“‹ Deployed Contracts β€” PAS Testnet Β· Chain ID 420420417

Deployed: 2026-03-09 UTC
Treasury seeded with 5,000 PAS Β· 4 seed documents created Β· SEED_CREATOR_ROLE renounced βœ…

Contract Address
PolkaInkRegistry 0xc3C208E3Eba8dC828e3426102AD678D0bFE15eFe
VersionStore 0xb77Eb7703537f8f119C6a9F58Fe2D33BfA383dCd
GovernanceCore 0x87Cb963B9A2e35DA5D8342Afa1Cd0D51b1F559aB
ArchiveCouncil 0xFC107cf84250C022eF13c6F8751AC5321bECD0fc
StakingManager 0x286301d1585B40c5B88Ff0fbD86E7A70cE8a2443
NFTReward 0x145EA0d74D31dDFC7ce1F95903d8eb9B0d8D72B3
Treasury 0x4c0CdB7a94cD0aF91460186F72F86297a3Ac7285
TimelockController 0x33CC1AF7c7E88704c83bdED1270aa892813Fec61
ProxyAdmin 0x4EBb5472bd5fFC619cA880447920584977E5fD68

πŸš€ Quick Start

# Contracts
cd contracts && npm install
npx hardhat compile

# Run tests (64 passing)
npx hardhat test

# Frontend
cd frontend && npm install
npm run dev        # http://localhost:5173

CI/CD pipelines and deployment workflows are managed via GitHub Actions:
πŸ‘‰ View Actions


πŸ“¦ Project Structure

contracts/
  contracts/          # 9 Solidity contracts (UUPS proxied)
  scripts/deploy/     # deploy_all.ts + numbered deploy scripts
  test/               # Unit + integration tests (64 passing)
frontend/
  src/pages/          # Home, Library, Document, Create, Propose, Governance
  src/hooks/          # useDocuments, useProposals, useVote, useMarkdownContent …
  src/lib/contracts/  # Multi-contract ABIs + deployed addresses
  public/locales/     # en, zh, fr, ru, es, ar
skills/
  polkaink_agent_skill.md   # SKILL.md-format agent file (Claude / Cursor / Copilot)
docs/
  dev_doc.md          # Full design specification (v3.4)
  dev_log.md          # Development log

πŸ—ΊοΈ Roadmap

Phase Milestones
Phase 0 βœ… 9-contract architecture Β· PAS Testnet deployment Β· Treasury Grant application
Phase 1 Mainnet launch Β· Markdown browser Β· Calldata verification Β· i18n 6 languages
Phase 2 Full DAO Β· Council election contracts Β· NFT reward activation Β· Bug Bounty
Phase 3 Open API Β· AI-assisted summaries (off-chain, on-chain archive) Β· Polkassembly integration
Phase 4 Kusama history Β· Multi-parachain archive Β· DeFi yield for Treasury
Phase 5 Polkadot Proof of Personhood integration Β· ZK-based one-person-one-weight

🀝 Contributing

All contributions are welcome: bug reports, feature proposals, documentation improvements, code fixes, and translations.


πŸ“„ License

MIT License β€” open source, forever.


πŸ“ž Links


Built by PolkaClaw β€” History, now it's all ON-CHAIN. Memory that cannot be erased. β—Ž

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors