All Projects → jbx-protocol → juice-interface

jbx-protocol / juice-interface

Licence: MIT license
🧃 An app for using the JBX protocol.

Programming Languages

typescript
32286 projects
SCSS
7915 projects

Projects that are alternatives of or similar to juice-interface

court
The Kleros court user interface.
Stars: ✭ 19 (-85.61%)
Mutual labels:  dapp, web3
ton-client-js
Everscale Javascript SDK
Stars: ✭ 60 (-54.55%)
Mutual labels:  dapp, web3
foodprint
Algorand dApp for blockchain-enabled food transparency and traceability in local food supply chains. For use by smallholder farmers, food co-operatives and consumers.
Stars: ✭ 43 (-67.42%)
Mutual labels:  dapp, web3
vue-web3
🐙 Web3 blockchain bindings for Vue.js (inspired by Vuefire and Drizzle)
Stars: ✭ 63 (-52.27%)
Mutual labels:  dapp, web3
solidity-cli
Compile solidity-code faster, easier and more reliable
Stars: ✭ 49 (-62.88%)
Mutual labels:  dapp, web3
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 (-61.36%)
Mutual labels:  dapp, web3
starter-kit-gsn
An OpenZeppelin starter kit focused on GSN.
Stars: ✭ 39 (-70.45%)
Mutual labels:  dapp, web3
create-react-native-dapp
Your next Ethereum application starts here. ⚛️ 💪 🦄
Stars: ✭ 410 (+210.61%)
Mutual labels:  dapp, web3
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 (-49.24%)
Mutual labels:  dapp, web3
cyberevents
The protocol for EVENTs and TICKETs
Stars: ✭ 16 (-87.88%)
Mutual labels:  dapp, web3
colonyDapp
Colony dApp client
Stars: ✭ 52 (-60.61%)
Mutual labels:  dapp, web3
eth-commerce
Javascript library to accept ethereum payments on any website
Stars: ✭ 24 (-81.82%)
Mutual labels:  dapp, web3
LunDAO
LunDAO 是一個鼓勵撰寫與 Ethereum 社群相關的中深度的中文文章,透過一個短期的實驗專案嘗試 DAO 可以如何進行社群治理以及回饋社群貢獻。
Stars: ✭ 50 (-62.12%)
Mutual labels:  dapp, web3
web3-webpacked
Drop-in web3 solution for single-page Ethereum dApps
Stars: ✭ 36 (-72.73%)
Mutual labels:  dapp, web3
dtube
Decentralized video sharing & social media platform on Ethereum blockchain.
Stars: ✭ 70 (-46.97%)
Mutual labels:  dapp, web3
kleros-api-DEPRECATED
A Javascript library that makes it easy to build relayers and other DApps that use the Kleros protocol. DEPRECATED use https://github.com/kleros/archon for interfacing with standard arbitration contracts.
Stars: ✭ 20 (-84.85%)
Mutual labels:  dapp, web3
SkyGallery
Create galleries by uploading images and videos. Powered by Sia Skynet.
Stars: ✭ 23 (-82.58%)
Mutual labels:  dapp, web3
zksync-dapp-checkout
zkCheckout — trustable permissionless DeFi payment gateway. Brand new zkSync dApp w/t all L2 perks: fast&cheap transfers / simple&quick withdrawal
Stars: ✭ 37 (-71.97%)
Mutual labels:  dapp, web3
openzeppelin-network.js
An easy to use and reliable library that provides one line access to Web3 API.
Stars: ✭ 45 (-65.91%)
Mutual labels:  dapp, web3
typescript-eth-starter
🔌 Ethereum Dapp Basic Typescript Starter
Stars: ✭ 125 (-5.3%)
Mutual labels:  dapp, web3

juice-interface

Juicebox frontend application.

Suggest a feature

Have an idea or suggestion? Create a feature request or mention it in the Discord.

Report a bug

Notice something broken? Create a bug report.

Development

Installation

  1. Create a fork of this repository.

  2. Clone your fork and navigate to the root directory.

  3. Install project dependencies.

    yarn install
  4. Create a .env file in the root directory which mirrors the .example.env file. Learn how to define each field in the .env file in Setup.

Setup

juicebox-interface relies on a number of services for development. Create an account for each of the following services:

The following sections describe how to set up each service for local development.

Infura

Juicebox uses Infura to connect to an Ethereum network (mainnet, or one of the testnets).

Take the following steps to create an Infura project for local development:

  1. Select Create New Project to begin creating a new Infura project.
  2. Select the Ethereum option from the Product dropdown.
  3. Enter a Name (for example, juicebox-local).
  4. Select Create to create the project.

Next, copy the following fields into your .env file:

  • Project ID. In the .env file, copy the Project ID into the REACT_APP_INFURA_ID variable.
  • Endpoint. This is the Ethereum network that will be used for testing. If you don't know which endpoint to use, select mainnet. In the .env file, copy the network name (e.g. 'mainnet', not the url) into the REACT_APP_INFURA_NETWORK variable.

Piñata

Juicebox uses Piñata to store project metadata. Juicebox projects set a name, description, logo, and other details when creating the project. These details are saved on IPFS as a JSON file using Piñata, and the CID gets stored on-chain with the Juicebox project.

Take the following steps to set up Piñata for local development:

  1. Create a Piñata API key (learn more).
    • Enable the Admin toggle in the Admin field.
  2. Copy the following fields into your .env file:
    • API Key. In the .env file, copy the API Key into the REACT_APP_PINATA_PINNER_KEY variable.
    • API Secret. In the .env file, copy the API Secret into the REACT_APP_PINATA_PINNER_SECRET variable.

Blocknative

Juicebox uses Blocknative to onboard users by enabling wallet selection, connection, wallet checks, and real-time state updates.

Take the following steps to set up Blocknative for local development:

  1. Create a Blocknative API key (learn more).
  2. Copy the API key into the REACT_APP_BLOCKNATIVE_API_KEY variable of the .env file.

The Graph

Juicebox uses The Graph to query the Ethereum network using a GraphQL API.

Take the following steps to set up Juicebox's subgraph for local development:

  1. Join Peel's discord server.
  2. Go to the dev channel and inquire about mainnet and rinkeby subgraph URLs.
  3. Copy the URL into the REACT_APP_SUBGRAPH_URL variable of the .env file.

Usage

  1. Start the app.

    yarn start

Contributing

If you'd like to contribute code or translations to the repository, check out CONTRIBUTING.md

Web3 Providers

The frontend has two different providers that provide different levels of access to different chains:

  • readProvider: used to read from contracts on network of injected provider (.env file points you at testnet or mainnet)
  • signingProvider: your personal wallet, connected to via Blocknative.

Deployment

Frontend application(s) are deployed automatically on pushes to main using Fleek.

Theme

The app uses the SemanticTheme pattern defined in the src/models/semantic-theme/ directory. This allows mapping style properties to any number of enumerated ThemeOptions. Style properties are defined in the src/constants/theme/ directory. Theme styles can be accessed via ThemeContext defined in src/contexts/themeContext.ts (and instantiated in src/hooks/JuiceTheme.tsx), or via CSS root variables.

The app also relies on antd React components. We override some Antd styles to make Antd compatible with SemanticTheme. These overrides are defined in the src/styles/antd-overrides/ directory.

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].