https://github.com/protofire/ink-multisig-ui
https://github.com/protofire/ink-multisig-ui
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/protofire/ink-multisig-ui
- Owner: protofire
- License: gpl-3.0
- Created: 2023-06-26T12:55:10.000Z (over 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-03-07T19:11:04.000Z (almost 2 years ago)
- Last Synced: 2024-04-24T09:39:15.663Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://xsigners.io
- Size: 2.88 MB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# XSigners Multisig UI
This repository houses a user-friendly interface built with Next.js for interacting with a Multi-Signature (MultiSig) smart contract in the Polkadot ecosystem. The smart contract, written in ink!, allows multiple owners to propose, approve, or reject transactions, which are executed only upon meeting an approval threshold. The UI provides an intuitive way to manage owners, adjust the approval threshold, and handle transactions, each assigned a unique ID. The interface aims to simplify the user interaction with complex MultiSig contract functionalities, thereby promoting a more accessible Polkadot ecosystem.
## ๐ Requirements
To run this project, you will need:
- [Node.js](https://nodejs.org/) (version 14 or newer)
- [Yarn](https://yarnpkg.com/)
## Getting Started
### ๐ Run App
- Clone the repository
### Docker Setup
First you need to create a .env file in the root directory of the project. You must copy the variables in the ./docker/web/.env_web.example file running the following command:
```bash
cp .docker/web/.env_web .env
```
To run the web app along with the Squid node, follow these steps:
- Execute the following command to instantiate all necessary components. Note that it is crucial to wait for the Squid node to be fully synchronized before proceeding and using the app.
```bash
docker-compose --env-file .docker/squid/.env_squid up
```
- If you prefer running the app without a local Squid node (And avoid syncronization time), you can do the following:
1. Open the .env file.
2. Modify the NEXT_SHIBUYA_GQL_ENDPOINT variable to the provided test node, and also remove the NEXT_PUBLIC_DOCS_URL as the app will automatically redirect to the hosted docs page.
```
NEXT_SHIBUYA_GQL_ENDPOINT="http://18.118.77.170:4350/graphql"
```
3. Run the app using the command:
```bash
docker-compose up --no-deps web
```
> To stop the application, use the following command:
```bash
docker-compose down
```
### Local Stack
- Install the dependencies with `yarn`
- Create a `.env` file in the root directory of the project. You must copy the variables in the `.env.example` file running the following command:
```bash
cp .env.example .env
```
- Run the app with `yarn dev`
### ๐จ Run Storybook
- Run storybook system design with `yarn storybook`
## ๐งน Linting
This app uses ESLint, Prettier, and lint-staged for code formatting and consistency.
To check for lint errors, run `yarn lint`.