Getting Started
Overview
@growae/reactive-vue provides Vue composables for interacting with the Aeternity blockchain. Built on top of @growae/reactive and TanStack Vue Query, it offers reactive refs, automatic caching, and loading states.
Quick Start
1. Install
bash
npm install @growae/reactive-vue @tanstack/vue-querybash
yarn add @growae/reactive-vue @tanstack/vue-querybash
pnpm add @growae/reactive-vue @tanstack/vue-query2. Set Up Plugin
typescript
// main.ts
import { createApp } from 'vue'
import { VueQueryPlugin } from '@tanstack/vue-query'
import { ReactivePlugin } from '@growae/reactive-vue'
import { createConfig } from '@growae/reactive'
import { testnet } from '@growae/reactive/networks'
import { superhero } from '@growae/reactive/connectors'
import App from './App.vue'
const config = createConfig({
networks: [testnet],
connectors: [superhero()],
})
const app = createApp(App)
app.use(VueQueryPlugin)
app.use(ReactivePlugin, { config })
app.mount('#app')3. Use Composables
vue
<script setup lang="ts">
import { useConnect, useBalance } from '@growae/reactive-vue'
const { connect, connectors } = useConnect()
const { data: balance } = useBalance({ address: 'ak_2dA...' })
</script>
<template>
<div>
<button
v-for="connector in connectors"
:key="connector.id"
@click="connect({ connector })"
>
{{ connector.name }}
</button>
<p v-if="balance">Balance: {{ balance.ae }} AE</p>
</div>
</template>Default TTL
All transaction composables (useSpend, useSendTransaction, useCallContract) default to a TTL of 300 blocks (~15 hours). Override per-call:
typescript
const { mutate: send } = useSpend()
send({
recipient: 'ak_...',
amount: '1.0',
ttl: 0, // no expiration
})Next Steps
- Installation — detailed install guide
- ReactivePlugin — plugin setup
- Connectors — all available wallet connectors (Superhero, Ledger, MetaMask Snap, and more)
- useConnect — wallet connection
- useBalance — balance queries