https://github.com/andriykalashnykov/web3-sample-app
Web3 Sample App
https://github.com/andriykalashnykov/web3-sample-app
ethersjs node nodejs web3
Last synced: 4 months ago
JSON representation
Web3 Sample App
- Host: GitHub
- URL: https://github.com/andriykalashnykov/web3-sample-app
- Owner: AndriyKalashnykov
- Created: 2023-03-17T18:40:10.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-13T17:13:19.000Z (10 months ago)
- Last Synced: 2025-03-08T21:51:45.982Z (7 months ago)
- Topics: ethersjs, node, nodejs, web3
- Language: TypeScript
- Homepage:
- Size: 349 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Web3 sample app
## Requirements
- [curl](https://help.ubidots.com/en/articles/2165289-learn-how-to-install-run-curl-on-windows-macosx-linux)
- [nvm](https://github.com/nvm-sh/nvm#install--update-script)
```bash
nvm install --lts
nvm use --lts
npm install npm --global
```
- [pnpm](https://pnpm.io/installation)
```bash
npm install -g pnpm
```
- [kind >=0.16.0](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/)## Features & Plugins
- React, TypeScript, [Vite](https://github.com/vitejs/vite)
- [ethers.js](https://github.com/ethers-io/ethers.js)
- i18n, store - works out-of-box
- [TailwindCSS](https://github.com/tailwindlabs/tailwindcss) - CSS framework for rapid UI development## Help
```bash
$ make help
``````text
Usage: make COMMAND
Commands :
help - List available tasks
clean - Cleanup
install - Install NodeJS dependencies
build - Build
upgrade - Upgrade dependencies
run - Run
image-build - Build a Docker image
image-run - Run a Docker image
image-stop - Stop a Docker image
check-version - Ensure VERSION variable is set
release - Create and push a new tag
kind-deploy - Deploy to a local KinD cluster
kind-undeploy - Undeploy from a local KinD cluster
kind-redeploy - Redeploy to a local KinD cluster
```## Usage
```bash
make run
```## Kubernetes deployment
### Deploy using docker image from public repository
#### Deploy workload
```bash
kubectl apply -f ./k8s --namespace=web3 --validate=false
```#### Get workload's IP
```bash
service_ip=$(kubectl get services web3-sample-app -n web3 -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
xdg-open "http://${service_ip}:8080" > /dev/null 2>&1
```#### Delete workload
```bash
kubectl delete -f ./k8s --namespace=web3
```### Deploy to local Kind cluster
```bash
make kind-deploy
```### Undeploy from local Kind cluster
```bash
make kind-undeploy
```## Release
- Update field [Version](./src/components/Layout.tsx#L25)
```text
const Version = "vX.Y.Z"
```- Run `release` target
```bash
make release
```Valid eth address to test:
```
0xeB2629a2734e272Bcc07BDA959863f316F4bD4Cf
```