🚨 GitBross is launching the **Open Source Backup Campaign** for #Solana and beyond 🚨


Welcome to the gill sdk, a JavaScript/TypeScript client library for interacting with the Solana blockchain. You can use it to build Solana apps in Node, web, React Native, or just about any other JavaScript environment.

github-actions[bot] 8c953c4298 Version Packages (#218) 1 month ago
.changeset 8c953c4298 Version Packages (#218) 1 month ago
.github 70a14b5582 improved readme and contributing (#269) 1 month ago
.vscode 4f69014f18 [react] esm and relative imports (#271) 2 months ago
docs ec362e2ae9 docs: improve React section documentation (#211) 2 months ago
e2e 9c22897112 "token" import paths (#264) 2 months ago
examples b94c6f4cf0 add version detection and tests (#257) 1 month ago
idls 825d808794 use codama cli to generate clients (#137) 5 months ago
packages 8c953c4298 Version Packages (#218) 1 month ago
.bundlemonrc.json 5dd8900ad6 ci: bundlemon (#31) 9 months ago
.gitignore 4a249196e4 feat: fathom (#185) 4 months ago
.prettierignore ff37d8d2cb [chore] prettier style check and fix (#226) 2 months ago
.prettierrc a320da828d use kit under the hood (#68) 8 months ago
CONTRIBUTING.md 70a14b5582 improved readme and contributing (#269) 1 month ago
LICENSE 45c4380416 chore: MIT license 9 months ago
MAINTAINERS.md 0ea6b83271 docs: maintainers (#266) 2 months ago
README.md a0b1405c1a assorted tweaks (#309) 1 month ago
eslint.config.mjs e4258af144 feat: added test runners 1 year ago
package.json a0b1405c1a assorted tweaks (#309) 1 month ago
pnpm-lock.yaml 91a3ac24d2 feat: add basic wallet hooks (#270) 1 month ago
pnpm-workspace.yaml 0be650e92c Refactor reexports (#143) 5 months ago
turbo.json ff37d8d2cb [chore] prettier style check and fix (#226) 2 months ago
typedoc.json 9e4bc55431 [docs] api reference (#132) 5 months ago
typedoc.plugin.mjs 9e4bc55431 [docs] api reference (#132) 5 months ago

README.md

gill sdk

javascript/typescript client library for interacting with the Solana blockchain

gill

Overview

Welcome to the gill sdk, a JavaScript/TypeScript client library for interacting with the Solana blockchain. You can use it to build Solana apps in Node, web, React Native, or just about any other JavaScript environment.

Gill is built on top of the modern javascript libraries for Solana built by Anza called @solana/kit (formerly known as "web3.js v2"). By utilizing the same types and functions under the hood, gill is compatible with kit. See Replacing Kit with gill.

For a comparison of using gill vs @solana/kit, take a look at the gill vs @solana/kit comparison docs and the comparison examples.

Documentation

You can find the gill library docs here:

Packages

The following packages are published from within this repo, collectively known as the "gill sdk":

Package Description Version Source
gill SDK for building on the Solana blockchain npm Source
@gillsdk/react React hooks library for the Solana blockchain npm Source
@gillsdk/solana-pay Modern Solana Pay protocol client library npm Source

Development

Environment setup

  1. Install NodeJS
  2. Install pnpm

Clone and prepare this repo locally:

git clone https://github.com/gillsdk/gill.git
cd gill
pnpm install

Build

To build all the packages in parallel (via Turborepo):

pnpm build

Note: You must run the build command the first time manually before running the test commands detailed below.

To build a specific package, use the --filter flag:

pnpm build --filter=gill
pnpm build --filter=@gillsdk/react
# or multiple specific packages
pnpm build --filter=gill --filter=@gillsdk/react

Testing

All unit tests can be run at the same time (including rebuilding):

pnpm test

Note: You must run the build command the first time manually before running the test command.

Contributing

Contributions are welcome and loved! Please open an issue before working on specific code changes to ensure it is within scope and desire for this library.

See the CONTRIBUTING.md document for full details.

Seriously. Read (and follow) this document if you want to contribute.

Maintainers

See the MAINTAINERS.md document for full details.