Skip to main content

Jackal.js-protos / Jackal.nodejs-protos


The Protos modules for Jackal.js and Jackal.nodejs ("Protos") is the conversion layer the accepts raw protobufs from the Jackal chain and converts them to useable typescrypt code. The differences between these 2 packages are only in the compatibility with either browser or Nodejs Javascript APIs and how they are packaged for consumption. Protos is designed for those that wish to write their own Jackal-compatible library instead of using Jackal.js / Jackal.nodejs.


To get started using Protos, you'll need a few things!




  • Vite
  • Chromium-family browser (Chrome, Brave, Edge, etc)
  • Keplr or Leap wallet extension


  • None

Protos requires Node v20+. The easiest way to manage this is with NVM.

nvm use 20

Setting Up

To get started, make sure your Jackal.js-protos based project has Vite installed. Jackal.nodejs-protos does not need this.

Install dependencies:


npm create vite@latest
npm install jackal.js-protos eciesjs @cosmjs/launchpad @cosmjs/proto-signing @cosmjs/stargate
npm install -D vite-plugin-node-stdlib-browser



npm install jackal.nodejs-protos eciesjs @cosmjs/launchpad @cosmjs/proto-signing @cosmjs/stargate
npm install -D @types/node typescript tscpaths

Updating Vite Config


// In vite.config.js:
import { defineConfig } from 'vite'
import nodePolyfills from 'vite-plugin-node-stdlib-browser'

export default defineConfig({
plugins: [

Next Steps

Once everything is set up as detailed above, you are free to create as little or as much using the methods exposed by Protos. Full documentation of these methods coming soon.