Skip to content

lavanet/cosmos-multisig-ui

 
 

Repository files navigation

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, Dgraph 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 DGRAPH_SECRET, which will be available once you setup your DGraph instance.

3. Initializing DGraph

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

  • Create a DGraph account
  • Launch a new backend
  • Click the Develop -> Schema menu item, and past the contents of the db-schema.graphql file in the root of this repo
  • On the Develop -> Schema view, click the Access tab, and make sure Anonymous Access is OFF.
  • Click the Admin -> Settings menu item, and create a key. Copy that key into your vercel app's environment variables as the DGRAPH_SECRET value

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

4. Successful 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 recommended 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 DGraph

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

  • Create a DGraph account
  • Launch a new backend
  • Click the Develop -> Schema menu item, and past the contents of the db-schema.graphql file in the root of this repo
  • On the Develop -> Schema view, click the Access tab, and make sure Anonymous Access is OFF.
  • Click the Admin -> Settings menu item, and create a key. Copy that key into your vercel app's environment variables as the DGRAPH_SECRET value

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

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

About

Create multisigs and multisig transactions on Cosmos chains, adding custom messages for lava

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.8%
  • Other 1.2%