@penumbra-zone/client
This package allows developers to create dApps that connect to Penumbra providers and query the Penumbra blockchain.
You can check this package in action in the NextJS example repo or read the Architecture Decision Record (ADR-006) describing the idea behind this package.
A simple example
import { PenumbraClient } from '@penumbra-zone/client';
import { ViewService } from '@penumbra-zone/protobuf';
const penumbra = createPenumbraClient();
const providers = PenumbraClient.getProviders();
const someProviderOrigin: keyof providers = Object.keys(providers)[0];
const manifest = await penumbra.getProviderManifest(someProviderOrigin);
console.log(manifest.name);
await penumbra.connect(someProviderOrigin);
const address0 = penumbra.service(ViewService).getAddressByIndex({ account: 0 });