LogoLogo
  • Introduction
  • Quick Start
  • ⭕HollowDB
    • Usage
    • Supported Wallets
    • Modes of Operation
    • Usage with Bundlr
    • Contract Operations
    • Caching Options
    • HollowDB-as-a-Service
  • 🔐Zero-Knowledge Proofs
    • Background
    • HollowDB Authentication
    • HollowDB Prover
    • Usage with Proofs
    • Proofs from Signatures
  • ⚒️Use-Cases
    • 👀Overview
    • 📆Calendar
    • 🔓Anonymous Authentication
    • 👤Persona
Powered by GitBook
On this page
  • Arweave Wallet
  • Injected Arweave Wallet
  • Ethereum Wallets
  1. HollowDB

Supported Wallets

Using Arweave & Ethereum wallets with HollowDB.

PreviousUsageNextModes of Operation

Last updated 1 year ago

HollowDB supports both Arweave wallets and Ethereum wallets. In this page, we will show several ways to create the signer object.

Arweave Wallet

An Arweave wallet is defined by a JWKInterface object, which is simply a JSON file that you can download from . You can read the JSON object from disk, and pass it as the signer to HollowDB.

import {JWKInterface} from 'warp-contracts';

const jwkPath = './some-wallet.json';
const signer = JSON.parse(fs.readFileSync(walletPath).toString()) as JWKInterface;

Always .gitignore your wallet files!

Injected Arweave Wallet

If you are using HollowDB in browser, you can use to connect to your existing wallet on and use it as an injected wallet in HollowDB! This is done by providing the string "use_wallet" as the signer argument, which internally does the same to connect to Warp Contracts.

Using an injected Arweave wallet will trigger a pop-up on each interaction, similar to MetaMask pop-ups where you sign the transaction.

// instantiate Arweave Web Wallet
const arweaveWebWallet = new ArweaveWebWallet(
  {
    name: "your-app-name",
    logo: "your-app-logo",
  },
  {
    state: {
      url: "arweave.app",
    },
  }
);

// connect
await arweaveWebWallet.connect();

// the magic string
const signer = "use_wallet";

Ethereum Wallets

Once you are able to obtain the evmSignature as described in their documentation, you can use the following signer for HollowDB:

import { CustomSignature } from "warp-contracts";

// assuming `evmSignature` exists at this point
const signer: CustomSignature = { signer: evmSignature, signatureType: 'ethereum' }

Similar to injected Arweave wallet, you can use an injected EVM-compatible wallet (such as MetaMask) to connect to HollowDB. This is made possible with the . Please refer to their documentation for more details.

⭕
arweave.app
arweave-wallet-connector
arweave.app
Warp Contract Signature plugin