Link to Eternity
Shorten and immortalize your links, text, and files anonymously on-chain with zkSync Era, making them accessible forever.
Use Cases
- Document Verification: Ensure the authenticity of critical documents by storing them on-chain, making it easy to prove they haven’t been altered.
- Proof of Concept or Idea: Timestamp your unique ideas or concepts, providing evidence of originality at a specified time.
- Permanent Content Sharing: Share important links, texts, or files that remain accessible indefinitely, bypassing traditional web hosting limitations.
- Trustless Data Storage: Store data in a transparent manner where anyone can verify its authenticity without relying on intermediaries.
- Decentralized Archiving: Archive critical information ensuring it’s safeguarded against central points of failure or censorship.
? Quick Start
Use EraLink directly via eralink.netlify.app.
Structure
The project is organized into two main directories:
- contracts: This folder houses the Hardhat environment and Solidity contracts which include Paymaster, Text Storage, and Upgradable Contract.
- frontend: Developed using Nuxt 3 and Vue, this directory contains all the frontend components of the application.
Development
Prerequisites:
- Node v18.x+
- Yarn
Contracts:
- Compile contracts:
yarn hardhat compile
- Contracts deployment:
- Set the
defaultNetwork
inhardhat.config.ts
to choose the deployment network. - Rename
.env.example
to.env
and enter the private key for the wallet that will handle contract deployment fees. Ensure this account has sufficient ETH. - Deploy Text Storage and Upgradable Proxy:
yarn deploy:text-storage
- For Paymaster deployment, update
TEXT_STORAGE_PROXY_ADDRESS
in/deploy/deploy-paymaster.ts
, then runyarn deploy:paymaster
. Don’t forget to send some ETH to the Paymaster so it can pay for transactions.
- Set the
Frontend:
- Rename
.env.example
to.env
and fill inWALLET_CONNECT_PROJECT_ID
(create one here) andWEB3_STORAGE_KEY
(generate one here). - Start in development mode with
npm run dev
- Build for production using
npm run generate
Tests
No tests available at the moment ?
Resources Used in Development
- zksync-cli: Quick development environment setup including contract templates and a zkSync node.
- zkSync Era Tutorials: Extensive guidance on developing with zkSync Era.
- misfits and magic project: A reference for contracts and paymaster usage.
- My zkExport project: A source of design inspiration.
? License
This project is licensed under MIT.