Osmosis 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.
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.
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 Simapp instance
It's recommmended that you make your simapp instance mimic the denomination of osmosis-1 (uosmo
). 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 "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 the
.env.local
file for theFAUNADB_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