Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

matter-labs/dapp-portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

407 Commits

Repository files navigation

ZKsync Portal

ZKsync Portal πŸš€

ZKsync Portal is a state-of-the-art dapp, merging the power of bridge, tokens manager and transaction history into one user-friendly interface. Designed with a stress on effortless user experience, it simplifies token management, making it your premier interface for interacting with both ZKsync versions - every interaction smooth and efficient.

✨ Features

  • πŸ–₯️ Intuitive interface for managing, sending, and bridging ZKsync Era.
  • πŸ“‡ Ability to add contacts for quick and easy access.
  • πŸ”§ Effortless setup and connection to local ZKsync nodes or ZK Stack Hyperchains.

πŸŽ‰ Try it out!


🌍 Connecting to local node

Harness the Portal's power to connect to your local ZKsync Era node.

Prerequisites: Node.js version 16+, npm version 7+

  1. πŸ“š Follow the documentation for setting up either an in-memory node or dockerized local setup.
  2. πŸ”„ Clone the Portal repository and set it up:
    git clone https://github.com/matter-labs/dapp-portal.git
    cd dapp-portal
    npm install
  3. πŸ› οΈ Modify the default network settings in data/networks.ts if your network ID, RPC URL, or other info differs. Customize displayed tokens there if needed.
  4. πŸ”₯ Launch the dev server:
    • For in-memory node:
      npm run dev:node:memory
    • For dockerized setup: bash npm run dev:node:docker Navigate to the displayed Portal URL (typically http://localhost:3000).

πŸ”— Connecting to Hyperchain

To use Portal with your ZK Stack Hyperchain, see the guide here.


πŸ›  Development

Advanced configuration

L1 Balances:

By default, L1 balances are fetched via a public RPC. For faster loading speeds and reduced load on your L1 RPC provider, consider using Ankr's RPC service. Obtain an Ankr token and update the .env file:

ANKR_TOKEN=your_ankr_token_here

Wallet Connect Project Setup:

Before deploying your own version of the Portal, ensure you create your own Wallet Connect project on walletconnect.com. After creating the project, update the project ID in the .env file:

WALLET_CONNECT_PROJECT_ID=your_project_id_here

Error logging with Sentry

In the .env file, add the Sentry variables:

SENTRY_DSN=your_sentry_dsn_url_here
SENTRY_ENV=localhost # 'localhost' | 'production'

SENTRY_ENV variable is used in order to filter the issues by environment.

πŸ”§ Setup

Ensure you've installed the necessary dependencies:

npm install

🌐 Development Server

Activate the dev server at http://localhost:3000:

npm run dev

🏭 Production

Compile for production:

npm run generate

πŸ“˜ Familiarize yourself with the Nuxt 3 documentation for a deeper dive.


🀝 Contributing

Open arms for contributions! Enhance our code and send your pull request here.


πŸ“œ License

Proudly under the MIT License.

About

ZKsync Portal - Bridge, Token manager and more...

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Vue 44.1%
  • TypeScript 35.1%
  • Gherkin 19.7%
  • JavaScript 0.8%
  • SCSS 0.1%
  • Dockerfile 0.1%
  • Other 0.1%

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /