Giter VIP home page Giter VIP logo

algo-temp's Introduction

algopass-contract

This starter React project has been generated using AlgoKit. See below for default getting started instructions.

Setup

Initial setup

  1. Clone this repository locally
  2. Install pre-requisites:
    • Make sure to have Docker installed and running on your machine.
    • Install AlgoKit - Link: The minimum required version is 1.1. Ensure you can execute algokit --version and get 1.1 or later.
    • Bootstrap your local environment; run algokit bootstrap all within this folder, which will run npm install to install NPM packages and dependencies for your frontend component/webapp.
    • Run algokit localnet start to start a local Algorand network in Docker. If you are using VS Code launch configurations provided by the template, this will be done automatically for you.
  3. Open the project and start debugging / developing via:
    • VS Code
      1. Open the repository root in VS Code
      2. Install recommended extensions
      3. Hit F5 (or whatever you have debug mapped to) and it should start running with breakpoint debugging.
    • JetBrains WebStorm
      1. Open the repository root in WebStorm
      2. Hit Shift+F10|Ctrl+R (or whatever you have debug mapped to). Then Shift+CMD|Ctrl+Click on the link in the console to open the browser with debugger attached.
    • Other
      1. Open the repository root in your text editor of choice
      2. In a terminal run npm run dev

Subsequently

  1. If you update to the latest source code and there are new dependencies you will need to run algokit bootstrap all again
  2. Follow step 3 above

Please note, by default frontend is pre configured to run against Algorand LocalNet. If you want to run against TestNet or MainNet, comment out the current environment variable and uncomment the relevant one in .env file that is created after running bootstrap command and based on .env.template.

Continuous Integration

This project uses GitHub Actions to define CI workflows, which are located in the .github/workflows folder.

For pull requests and pushes to main branch against this repository the following checks are automatically performed by GitHub Actions:

  • install: Installs dependencies using npm
  • lint: Lints the codebase using ESLint
  • build: Builds the codebase using vite

Continuous Deployment

The project template provides base Github Actions workflows for continuous deployment to Netlify or Vercel. These workflows are located in the .github/workflows folder.

Please note: when configuring the github repository for the first time. Depending on selected provider you will need to set the provider secrets in the repository settings. For netlify you can pass the project specific environment variables as part of Github actions secrets, while for vercel you will need to set the secrets on your site instance (refer to the Vercel documentation for more details).

Algorand Wallet integrations

The template comes with use-wallet integration, which provides a React hook for connecting to an Algorand wallet providers. The following wallet providers are included by default:

Refer to official use-wallet documentation for detailed guidelines on how to integrate with other wallet providers (such as WalletConnect v2). Too see implementation details on the use wallet hook and initialization of extra wallet providers refer to App.tsx.

Tools

This project makes use of React and Tailwind to provider a base project configuration to develop frontends for your Algorand dApps and interactions with smart contracts. The following tools are in use:

  • AlgoKit Utils - Various TypeScript utilities to simplify interactions with Algorand and AlgoKit.
  • React - A JavaScript library for building user interfaces.
  • Tailwind CSS - A utility-first CSS framework for rapidly building custom designs.
  • daisyUI - A component library for Tailwind CSS.
  • use-wallet - A React hook for connecting to an Algorand wallet providers.
  • npm: Node.js package manager
  • jest: JavaScript testing framework
  • playwright: Browser automation library
  • Prettier: Opinionated code formatter
  • ESLint: Tool for identifying and reporting on patterns in JavaScript
  • Github Actions workflows for build validation It has also been configured to have a productive dev experience out of the box in VS Code, see the .vscode folder.

Integrating with smart contracts and application clients

Refer to the detailed guidance on integrating with smart contracts and application clients. In essence, for any smart contract codebase generated with AlgoKit or other tools that produce compile contracts into ARC34 compliant app specifications, you can use the algokit generate command to generate TypeScript or Python typed client. Once generated simply drag and drop the generated client into ./src/contracts and import it into your React components as you see fit.

algo-temp's People

Contributors

hongthaipham avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.