All Projects → balancer-labs → frontend-v2

balancer-labs / frontend-v2

Licence: MIT license
Frontend app for the Balancer protocol

Programming Languages

typescript
32286 projects
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to frontend-v2

airswap-web
AirSwap Web App
Stars: ✭ 94 (-25.98%)
Mutual labels:  web3, defi
botdexdamar
🤖 multichain trading bot with sniper, frontrun, backrun, sandwich
Stars: ✭ 124 (-2.36%)
Mutual labels:  web3, defi
stock-dex
As a response to the restrictions many have faced due to the $GME short squeeze mania, many have called for the creation of a decentralized stock exchange. This is what we are going to provide
Stars: ✭ 26 (-79.53%)
Mutual labels:  web3, defi
web3together
🗣 Public open-ended discussions about Blockchain, Web3, NFTs, DeFi, ...
Stars: ✭ 58 (-54.33%)
Mutual labels:  web3, defi
augmented-finance-protocol
High-yield lending and low-rate borrowing DeFi protocol
Stars: ✭ 28 (-77.95%)
Mutual labels:  web3, defi
Solnet
Solana's .NET SDK and integration library.
Stars: ✭ 252 (+98.43%)
Mutual labels:  web3, defi
digital-copyright
Stamp your code with a trackable digital copyright
Stars: ✭ 17 (-86.61%)
Mutual labels:  web3, defi
NFT-Dapp-Boilerplate
A highly scalable NFT and DEFI boilerplate with pre added web3 and different wallets with a focus on performance and best practices
Stars: ✭ 51 (-59.84%)
Mutual labels:  web3, defi
blockhead
Crypto portfolio tracker, DeFi dashboard, NFT viewer and data explorer for the Ethereum/EVM-based blockchain ecosystem and the web 3.0-powered metaverse https://gitcoin.co/grants/2966/blockhead
Stars: ✭ 41 (-67.72%)
Mutual labels:  web3, defi
ape
The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
Stars: ✭ 339 (+166.93%)
Mutual labels:  web3, defi
mev-inspect-rs
Discover historic Miner Extractable Value (MEV) opportunities
Stars: ✭ 443 (+248.82%)
Mutual labels:  web3, defi
Wallet3
A secure mobile wallet for web3
Stars: ✭ 13 (-89.76%)
Mutual labels:  web3, defi
MultiDexArbBot
This is an arbitrage bot that uses existing price aggregators such as 1inch, Paraswap, dex.ag, matcha and more to get the best exchange rates across different decentralized exchanges on different blockchains and ecosystems.
Stars: ✭ 67 (-47.24%)
Mutual labels:  web3, defi
Graph-Academy-Hub
The Graph Hub is a free, open-source and community-driven knowledge base and documentation initiative on The Graph Protocol. The vision of The Graph Academy is to establish a single go-to-resource for essential information about The Graph Protocol.
Stars: ✭ 62 (-51.18%)
Mutual labels:  web3, defi
ocean.js
🦑 Ocean Protocol JavaScript library to privately & securely publish, exchange, and consume data.
Stars: ✭ 77 (-39.37%)
Mutual labels:  web3, defi
awesome-waves
Curated list of awesome things for development on Waves blockchain.
Stars: ✭ 60 (-52.76%)
Mutual labels:  web3, defi
dxvote
Governance Dapp of DXdao
Stars: ✭ 28 (-77.95%)
Mutual labels:  web3
tool-db
A peer-to-peer decentralized database
Stars: ✭ 15 (-88.19%)
Mutual labels:  web3
Web3Pass
Your Web3 in one shot 🍻
Stars: ✭ 54 (-57.48%)
Mutual labels:  web3
Web3swift
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions.
Stars: ✭ 237 (+86.61%)
Mutual labels:  web3

Balancer Frontend App (v2)

Official frontend app for the Balancer protocol (v2).

Development

To setup the development environment first clone the repo:

git clone https://github.com/balancer/frontend-v2.git && cd frontend-v2

Local env

Install dependencies:

npm install

Start the app:

npm run dev

The app should be live at http://localhost:8080

Testing

Run unit tests:

npm run test:unit

Run unit tests in watch mode:

npm run test:unit:watch

Run unit tests with coverage:

npm run test:unit:coverage

Build

Run build:

npm run build

Preview build:

npm run preview

Run build in watch mode:

npm run build:watch

This mode is useful when you need to reproduce/fix bugs/issues in a production-like environment.

Docker

If you'd rather spin up the app in a docker container, first install dependencies to you local folder:

docker-compose build
docker-compose run --rm web npm i

and start the app:

docker-compose up

The app should be live at http://localhost:8080

If you are on Apple Silicon, try this:

export DOCKER_DEFAULT_PLATFORM=linux/amd64

source: https://stackoverflow.com/questions/65612411/forcing-docker-to-use-linux-amd64-platform-by-default-on-macos

Self-Hosting

As we believe in decentralization at all layers, we've made it easy to host your own Balancer Frontend.

Docker Production Image

We've created a production ready docker image runs a pre-built version of Balancer Frontend-v2 using nginx. You'll need your own Infura, Alchemy, and Blocknative API keys in order to fetch data and execute transactions.

Here's an example of how to run the container. This can also be found in scripts/run-docker.sh.

docker run \
  -e INFURA_PROJECT_ID=   \ # Required
  -e ALCHEMY_KEY=         \ # Required
  -e BLOCKNATIVE_DAPP_ID= \ # Required
  balancerfi/frontend-v2

Custom RPC urls

To override RPC network config set in src/lib/config, you can use the following environment variables:

VITE_RPC_URL_<networkId>=XXX

One Click Deploys

The frontend can easily be deployed to any static host. Use the buttons below to spin up an instance. You will be prompted to provide your Infura Project ID, Alchemy Key, and Blocknative Dapp ID as these are required for the frontend to work correctly.

Deploy to DO

Deploy to Netlify

Deploy with Vercel

Vite setup

This app is powered by vite, which:

  • Runs a development dev server with esbuild.
  • Builds production bundle with Rollup.

Both tools above rely on native ES modules but our app also depends on libraries like ethers.js which use Node.js built-in modules (like Buffer, stream or crypto) that require browser polyfills. Thats why our vite.config.ts uses node-pollyfills and rollup-plugin-polyfill-node.

unplugin-vue magic 🪄

We use some Vite plugins to improve the Vue developer experience.

unplugin-vue-components:

Auto imports components located in src/components/_global so that they are available from every other component in the application (and from vitest). (It also auto generates a d.ts file for the auto imported components).

Analyze bundle

Analyze and visualize the bundle dependencies:

npm run build:analyze
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].