Skip to content

research-ag/wallet

Repository files navigation

ICRC-1 Wallet

License: GPL3 React Version TypeScript Version Node Version dfx Version

ICRC-1 Wallet is an application designed for Internet Computer Network. This project allows users to manage their digital assets and perform transactions with major ICRC1 cryptocurrencies. Whether you're a beginner or an experienced crypto enthusiast, ICRC-1 Wallet provides a user-friendly interface for your Wallet needs.

Table of Contents

Getting Started

To get started with ICRC-1 Wallet, follow these steps:

  1. Clone the repository to your local machine:

    git clone git@github.com:research-ag/wallet.git
    
  2. Change your directory to the project folder:

    cd wallet
    
  3. Install the project dependencies:

    npm install
    npm i -g ic-mops
    mops install
    

Local deployment

  1. Create canisters on local replica and save the ID shown in the output

    dfx start --clean --background
    dfx canister create --all
    
  2. Modify .env file in the root of the project with the previously saved IDs:

    # Canister id of RXDB replica canister
    VITE_DB_CANISTER_ID=[db canister ID]
    VITE_DB_CANISTER_HOST=http://localhost:8000
    # SIWE canister id
    CANISTER_ID_IC_SIWE_PROVIDER=[ic_siwe_provider canister ID]
    
  3. Build canisters into the local replica

    make deploy-local
    

    Step by step and arguments needed are specify in Makefile (at project root). Frontend will be deployed under the canister name "assets"

  4. For development server

    npm run dev
    

IC deployment

  1. Create canisters on IC Blockchain and save the ID shown in the output

    dfx canister --ic create --all
    
  2. Modify .env file in the root of the project with the previously saved IDs:

    # Canister id of RXDB replica canister
    VITE_DB_CANISTER_ID=[db canister ID]
    VITE_DB_CANISTER_HOST=https://identity.ic0.app
    # SIWE canister id
    CANISTER_ID_IC_SIWE_PROVIDER=[ic_siwe_provider canister ID]
    
  3. Build canisters into the local replica

    make deploy
    

Step by step and arguments needed are specify in Makefile (at project root). Frontend will be deployed under the canister name "assets"

Features

  • Create and manage wallets for major cryptocurrencies.
  • View your digital asset portfolio and transaction history.
  • Send and receive cryptocurrencies securely.
  • Real-time cryptocurrency price tracking.
  • Support for Internet Computer Network's unique features.

Technologies

ICRC-1 Wallet is built using the following technologies:

  • React 18.2
  • TypeScript
  • Internet Computer Network with Dfinity.js (for blockchain interaction)
  • Redux for state management
  • Zod for declaration and validation of schemas
  • Radix for UI development
  • CVA for building type-safe UI components
  • Tailwind as utility-first CSS framework pack
  • i18next for language management

Usage

Once you have installed the project and started the development server, you can access the ICRC-1 Wallet application in your web browser. Here are some basic usage instructions:

  • Create a new wallet and secure your wallet information.
  • Add your cryptocurrencies and manage your digital assets.
  • Send and receive cryptocurrencies to and from other users.
  • Explore real-time price charts and market data.

License

This project is licensed under the GPL3 License - see the LICENSE file for details.