Go to file
2023-06-13 15:31:51 +02:00
.github/workflows Add test command for CI 2023-05-02 14:51:04 +02:00
components Clear timeout on focus to open list 2023-06-13 15:31:51 +02:00
context Fix missing unescaping for denoms 2023-01-16 14:30:33 +01:00
docs update to reflect switch to addresses 2021-10-04 22:13:27 -04:00
lib Import MsgTransfer from Json 2023-06-12 11:07:17 +02:00
pages Use importer helpers 2023-06-08 12:35:51 +02:00
types Remove memo type modification 2023-06-13 12:59:41 +02:00
.env.sample Rename and reorder env var 2023-04-21 22:26:51 +02:00
.env.test.sample Rename and reorder env var 2023-04-21 22:26:51 +02:00
.eslintrc.js Use eslint-next instead of eslint-react 2023-04-12 13:18:19 +02:00
.gitignore Add .vscode to .gitignore 2023-06-12 11:06:25 +02:00
.prettierrc.json Increase line length to 100 and set traling comma 2022-01-12 23:22:40 +01:00
db-schema.graphql adds chainId to query structure 2022-02-02 21:25:46 -05:00
jest.config.mjs Configure jest 2023-05-02 14:45:18 +02:00
next-env.d.ts Convert to typescript 2022-06-09 18:40:32 -04:00
package-lock.json Add deps and test command 2023-05-02 14:45:49 +02:00
package.json Add test command for CI 2023-05-02 14:51:04 +02:00
README.md Change README to use EU instead of Classic 2023-04-11 16:27:10 +02:00
tsconfig.json Convert to typescript 2022-06-09 18:40:32 -04:00

Cosmoshub Multisig App

This app allows for multisig users to create, sign and broadcast transactions on any stargate enabled chain. It's built with Cosmjs, Next.js, FaunaDB and Vercel.

The app is live here.

Here is a user guide on how to use the app

Running your own instance

1. Clone project / setup Vercel deployment

This app uses Vercel for deployment and hosting, since they support next.js's serverless functions. You will need a vercel account to deploy this app. Use the button below to one-click clone and deploy this repo. The initial deployment will fail until all the necessary environment variables are input from the following steps.

Deploy with Vercel

2. Setup environment variables

In the Vercel control panel for your new app, go to Settings -> Environment Variables and add in the keys and values from this repo's .env.sample file. The only remaining variable should be the FAUNADB_SECRET, which will be available once you setup your FaunaDB instance.

3. Initializing FaunaDB

This app relies on FaunaDB as for storing account, transaction and signature details.

  • Create a FaunaDB account
  • Create a new database
    • Use the "Classic" region
  • Click the "Graphql" tab, and import the db-schema.graphql file in the root of this repo
  • Click the "Security" tab, and create a key. Copy that key into your vercel app's environment variables as the FAUNADB_SECRET value

As your instance of the app is used, you can return to the FaunaDB dashboard to view records for any accounts, transactions or signatures.

4. Succesful Deployment

Redeploy the app and it will pickup the new environment variables and should be functioning normally.

Running Locally

1. Setup .env.local file

Copy the .env.sample file and rename it to .env.local

2. Run a local cosmos-sdk Simapp instance

It's recommmended that you make your simapp instance mimic the denomination of cosmoshub-4 (uatom). Put the local address of your node as the value for NEXT_PUBLIC_NODE_ADDRESS in your .env.local file.

A more in depth tutorial on this is coming soon :)

3. Initializing FaunaDB

This app relies on FaunaDB as for storing account, transaction and signature details.

  • Create a FaunaDB account
  • Create a new database
    • Use the "Europe (EU)" region
  • Click the "Graphql" tab, and import the db-schema.graphql file in the root of this repo
  • Click the "Security" tab, and create a key. Copy that key into the .env.local file for the FAUNADB_SECRET value

As your instance of the app is used, you can return to the FaunaDB dashboard to view records for any accounts, transactions or signatures created.

3. Run your instance

With the simapp process running, run these commands in another window:

// with node v12.5.0 or later
npm install
npm run dev