@archway-kit/vue
Version:
Vue components to interact with the Archway network
108 lines (77 loc) • 2.96 kB
Markdown
<h3 align="center">
@archway-kit/vue
</h3>
<p align="center">
Vue components to interact with the Archway network
</p>
## Installation
Please note that **this library only supports Vue 3**.
```sh
npm install @archway-kit/vue
```
It also requires the Vue project to have the following tools installed:
- Tailwind CSS (https://tailwindcss.com/docs/guides/vite or https://tailwindcss.com/docs/guides/nuxtjs)
Then you have to add the following value to the content array in your `tailwind.config.js` file:
```js
content: [
// ...
"./node_modules/@archway-kit/vue/dist/*.js"
],
plugins: [
// ...
require('@archway-kit/tailwind-plugin')({
// ...plugin config
}),
]
```
See details about configuring the Archway tailwind plugin [here](../@archway-kit-tailwind-plugin/README.md).
## Documentation
### UserToolbar
Shows a button to connect your wallet (Keplr, Cosmostation, Leap, WalletConnect) and after a successful connection, it displays the connected account info and a disconnect button.
```html
<script setup>
import { ConstantineChainInfo } from '@archway-kit/wallet';
</script>
<template>
<UserToolbar :chain-info="ConstantineChainInfo" />
</template>
```
Then the connected account can be accessed from the `useWallet()` composable:
```html
<script setup>
import { useWallet } from '@archway-kit/vue';
const { isAuthenticated, address, name, connectedWallet, isLoading, disconnect } = useWallet();
</script>
```
#### WalletConnect
To enable WalletConnect wallets in `UserToolbar`, install `walletconnectVuePlugin` from this package, providing you WalletConnect Project ID (you can create one [here](https://cloud.walletconnect.com)), along with some additional app-level config:
```ts
vueApp.use(walletconnectVuePlugin, {
// required
projectId: yourProjectId,
// optional
/** Custom WalletConnect relay URL */
relayUrl: 'wss://relay.walletconnect.com',
/** Your dapp metadata to show when connecting to a wallet */
appMetadata: {
name: 'MyDapp',
description: 'Your brand new super dapp on Archway!',
url: 'https://mydapp.com'
icons: ['https://mydapp.com/logo.png']
},
/** Methods to ask permission from wallet to call */
methods: ['cosmos_signDirect', 'cosmos_signAmino', 'cosmos_getAccounts'],
/** Enable additional console.log messages from WalletConnect */
debug: true,
/**
* Additional Chain IDs to request connection for.
* Useful for bridges when you may need to sign a tx on other chain using the same WalletConnect session
*/
chainIds: [/* "cosmoshub-1", "mocha-4" etc ... */]
});
```
### More
For full documentation about the Archway Network and its ecosystem, visit [Archway Docs](https://docs.archway.io).
## Community
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
[Discuss Archway Kit on GitHub](https://github.com/archway-network/archway-kit/discussions)