Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 101 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,107 @@
# bitflick Open Source Packages
# `@bitflick/inscriptions`

[![CI](https://github.com/flick-ing/inscriptions/actions/workflows/ci.yml/badge.svg)](https://github.com/flick-ing/inscriptions/actions/workflows/ci.yml)
[![Changesets](https://img.shields.io/badge/changesets-enabled-blue.svg)](https://github.com/changesets)
[![npm version inscriptions](https://img.shields.io/npm/v/@bitflick/inscriptions.svg)](https://www.npmjs.com/package/@bitflick/inscriptions)
[![npm version tsconfig](https://img.shields.io/npm/v/@bitflick/tsconfig.svg)](https://www.npmjs.com/package/@bitflick/tsconfig)
[![npm version](https://img.shields.io/npm/v/@bitflick/inscriptions.svg)](https://www.npmjs.com/package/@bitflick/inscriptions)
[![npm downloads](https://img.shields.io/npm/dm/@bitflick/inscriptions.svg)](https://www.npmjs.com/package/@bitflick/inscriptions)
[![license](https://img.shields.io/npm/l/@bitflick/inscriptions.svg)](LICENSE)

This monorepo contains the open source packages published under the `@bitflick` scope, managed by the [flick-ing](https://github.com/flick-ing) GitHub organization.
TypeScript library for Bitcoin inscriptions and Ordinals/BRC-20 tooling, published as [`@bitflick/inscriptions`](https://www.npmjs.com/package/@bitflick/inscriptions) on npm.

The library builds Taproot inscription funding, reveal, and refund transactions; supports parent inscription flows and batching helpers; includes network helpers for mainnet, testnet, testnet4, and regtest; and provides mempool.space broadcast/funding utilities.

npm download counts are useful package-usage evidence, not a unique-user count.

## Installation

```bash
npm install @bitflick/inscriptions
```

## Concise Usage

```ts
import {
broadcastTx,
bitcoinToSats,
generateFundableGenesisTransaction,
generatePrivKey,
generateRevealTransaction,
waitForInscriptionFunding,
} from "@bitflick/inscriptions";

const funding = await generateFundableGenesisTransaction({
address: "bc1p...",
inscriptions: [
{ content: Buffer.from("Hello, Ordinals"), mimeType: "text/plain" },
],
network: "mainnet",
privKey: generatePrivKey(),
feeRate: 10,
tip: 10_000,
padding: 546,
});

const [txid, vout] = await waitForInscriptionFunding(
funding.inscriptionUtxo,
funding.network
);

const revealTx = await generateRevealTransaction({
inputs: [
{
amount: Number(bitcoinToSats(funding.fundingAmountBtc)),
cblock: funding.initCBlock,
leaf: funding.initLeaf,
script: funding.initScript,
padding: funding.padding,
secKey: funding.secKey,
tapkey: funding.initTapKey,
txid,
vout,
inscriptions: funding.writableInscriptions,
rootTapKey: funding.initTapKey,
},
],
feeRateRange: [10, 25],
feeTarget: 10_000,
});

await broadcastTx(revealTx, funding.network);
```

See the package README for a longer walkthrough: [`packages/inscriptions/README.md`](packages/inscriptions/README.md).

## Supported Workflows

- Create fundable genesis transactions for one or more inscriptions.
- Generate reveal transactions from funded inscription UTXOs.
- Generate refund transactions for unspent inscription outputs.
- Work with parent inscription metadata and grouped funding inputs.
- Broadcast raw transactions and poll for inscription funding through mempool.space.
- Test flows against regtest using the checked-in integration test package.

## Public API Overview

The package exports transaction builders, network helpers, mempool helpers, grouping utilities, refund support, and shared TypeScript types from [`packages/inscriptions/src/index.ts`](packages/inscriptions/src/index.ts).

Key entry points include:

- `generateFundableGenesisTransaction`
- `generateRevealTransaction`
- `generateRefundTransaction`
- `broadcastTx`
- `waitForInscriptionFunding`
- `generatePrivKey`
- `networkNamesToTapScriptName`

## Release and Compatibility

- Package: [`@bitflick/inscriptions` on npm](https://www.npmjs.com/package/@bitflick/inscriptions)
- Source: [github.com/flick-ing/inscriptions](https://github.com/flick-ing/inscriptions)
- Changelog: [`packages/inscriptions/CHANGELOG.md`](packages/inscriptions/CHANGELOG.md)
- Releases are managed with Changesets.
- The repository includes unit tests plus a regtest-oriented integration package under `packages/test`.

## Packages

Expand All @@ -14,15 +110,7 @@ This monorepo contains the open source packages published under the `@bitflick`
| [`@bitflick/inscriptions`](packages/inscriptions) | A Node.js TypeScript library for creating Bitcoin inscriptions (BRC20) and interacting with ordinals. | [![npm](https://img.shields.io/npm/v/@bitflick/inscriptions.svg)](https://www.npmjs.com/package/@bitflick/inscriptions) |
| [`@bitflick/tsconfig`](packages/tsconfig) | Shared TypeScript base configuration for all bitflick packages. | [![npm](https://img.shields.io/npm/v/@bitflick/tsconfig.svg)](https://www.npmjs.com/package/@bitflick/tsconfig) |

## Getting Started

Install and use in your project:

```bash
npm install @bitflick/inscriptions
# or
npm install @bitflick/tsconfig
```
## Monorepo Development

Extend the shared TypeScript configuration in your `tsconfig.json`:

Expand Down
15 changes: 14 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,21 @@
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/flick-ing/bitflick.git"
"url": "https://github.com/flick-ing/inscriptions.git"
},
"homepage": "https://www.npmjs.com/package/@bitflick/inscriptions",
"bugs": {
"url": "https://github.com/flick-ing/inscriptions/issues"
},
"keywords": [
"bitcoin",
"ordinals",
"inscriptions",
"brc20",
"typescript",
"npm",
"library"
],
"workspaces": [
"packages/*"
],
Expand Down
13 changes: 13 additions & 0 deletions packages/inscriptions/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "@bitflick/inscriptions",
"version": "1.1.4",
"description": "TypeScript library for Bitcoin inscriptions and Ordinals/BRC-20 tooling",
"license": "MIT",
"type": "module",
"main": "dist/src/index.js",
Expand All @@ -9,6 +10,18 @@
"type": "git",
"url": "git+https://github.com/flick-ing/inscriptions.git"
},
"homepage": "https://www.npmjs.com/package/@bitflick/inscriptions",
"bugs": {
"url": "https://github.com/flick-ing/inscriptions/issues"
},
"keywords": [
"bitcoin",
"ordinals",
"inscriptions",
"brc20",
"typescript",
"library"
],
"files": [
"dist"
],
Expand Down
Loading