Skip to main content

Introduction

What is Jellyfish?

A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance on Bitcoin. Consisting of multiple packages with more to be added in the future, this JS library enables developers to create decentralized applications on top of DeFi Blockchain that are modern, easy to use and easy to test.

Monorepo & packages

As with all modern JavaScript projects, jellyfish follows a monorepo structure with its concerns separated. All packages maintained in this repo are published with the same version tag and follows the DeFiCh/ain releases.

PackageDescription
@defichain/jellyfish-addressProvide address builder, parser, validator utility library for DeFi Blockchain.
@defichain/jellyfish-api-coreA protocol agnostic DeFi Blockchain client interfaces, with a "foreign function interface" design.
@defichain/jellyfish-api-jsonrpcImplements the JSON-RPC 1.0 specification for api-core.
@defichain/jellyfish-blockStateless raw block composer for the DeFi Blockchain.
@defichain/jellyfish-bufferBuffer composer for jellyfish.
@defichain/jellyfish-cryptoCryptography operations for jellyfish, includes a simple 'secp256k1' EllipticPair.
@defichain/jellyfish-jsonAllows parsing of JSON with 'lossless', 'bignumber' and 'number' numeric precision.
@defichain/jellyfish-networkContains DeFi Blockchain various network configuration for mainnet, testnet and regtest.
@defichain/jellyfish-testingProvides many abstractions for various commonly used setup pattern for DeFi Blockchain.
@defichain/jellyfish-transactionDead simple modern stateless raw transaction composer for the DeFi Blockchain.
@defichain/jellyfish-transaction-builderProvides a high-high level abstraction for constructing transaction ready to be broadcast for DeFi Blockchain.
@defichain/jellyfish-transaction-signatureStateless utility library to perform transaction signing.
@defichain/jellyfish-walletJellyfish wallet is a managed wallet, where account can get discovered from an HD seed.
@defichain/jellyfish-wallet-classicWalletClassic implements a simple, single elliptic pair wallet.
@defichain/jellyfish-wallet-encryptedLibrary to encrypt MnemonicHdNode as EncryptedMnemonicHdNode. Able to perform as MnemonicHdNode with passphrase known.
@defichain/jellyfish-wallet-mnemonicMnemonicHdNode implements the WalletHdNode from jellyfish-wallet; a CoinType-agnostic HD Wallet for noncustodial DeFi.
@defichain/testcontainersProvides a lightweight, throw away instances for DeFiD node provisioned automatically in a Docker container.
@defichain/testing(deprecated) Provides rich test fixture setup functions for effective and effortless testing.