ABI and TypeScript bindings publishing
How GitMyABI delivers a contract ABI and its TypeScript bindings after a successful build.
ABI and TypeScript bindings publishing is the part of GitMyABI that turns a successful smart contract build into two consumable artifacts: a JSON ABI on a public CDN and a typed TypeScript npm package. Both artifacts are produced by the same build and are tied to the same project, build number, and Git reference.
Two delivery channels
- CDN-hosted ABI. Each compiled contract's ABI is uploaded as a JSON file under a stable URL keyed by project and build (or by branch, tag, release, or commit alias). The CDN URL is shown on the build detail page.
- npm-published bindings. The same ABI is wrapped in a typed TypeScript class and published to an npm registry. The package name, version, and install command are shown on the build detail page.
Build pipeline
On every triggered build, GitMyABI runs the following steps in order:
- Clone Repository — downloads the project source from GitHub.
- Install Dependencies — runs the project's configured install command.
- Compile Contracts — executes the framework's build command (Hardhat or Foundry).
- Extract ABIs — locates and extracts the compiled ABI files from the configured artifacts path.
- Upload to CDN — publishes the ABI JSON files to a public CDN.
- Generate URLs and publish bindings — produces stable CDN URLs and publishes the typed bindings package to the configured npm registry.
Routing
Project visibility determines package visibility. A project connected to a public GitHub repository publishes a publicly installable npm package; a project connected to a private repository publishes a package that requires the registry configuration shown in the package installation instructions on the build detail page. The CDN URL for the ABI is shown on the build detail page; do not assume a fixed CDN host or registry URL.
What triggers publishing
- Manually triggered builds for a chosen branch, tag, release, or commit.
- Automatic builds on GitHub events when auto-build is enabled for the project.
See review the package format for the artifact shape and publish generated contract bindings to npm for the per-project setup steps.
Related
- Contract ABI
What a smart contract ABI is and why it matters.
- Generated contract bindings
TypeScript packages produced from contract ABIs for typed integration.
- Publish generated bindings to npm
Configure a project so each build publishes a typed bindings package to npm.
- Package format
Shape of the published bindings package and the CDN-hosted ABI artifacts.