Skip to content

metaplex-foundation/mpl-bubblegum

Repository files navigation

Metaplex Bubblegum

Create and manage compressed NFTs on Solana. Compressed NFTs make it possible to scale the creation of NFTs to new orders of magnitude by rethinking the way we store data on-chain.

Metaplex Bubblegum

Getting Started

The packages below can be use to interact with Bubblegum program.

TypeScript

npm install @metaplex-foundation/mpl-bubblegum

See typedoc documentation.

Rust

cargo add mpl-bubblegum

See crate documentation.

Documentation

Developer documentation for Bubblegum can be found here.

Building

From the root directory of the repository:

  • Install the required packges:
pnpm install
  • Build the program:
pnpm programs:build

This will create the program binary at <ROOT>/programs/.bin

Testing

Bubblegum includes two set of tests: BPF and TypeScript.

BPF

From the root directory of the repository:

pnpm programs:test

TypeScript

From the root directory of the repository:

pnpm validator

This will start a local validator using Amman.

After starting the validator, go to the folder <ROOT>/clients/js and run:

pnpm install

This will install the required packages for the tests. Then, run:

pnpm build && pnpm test

Security

To report a security issue, please follow the guidance on our bug bounty program page.

License

The Rust/Cargo programs are licensed under the "Apache-style" Metaplex(TM) NFT Open Source License and the JS/TS client libraries are licensed under either the MIT or the Apache licenses.

Contributing

Check out the Contributing Guide the learn more about how to contribute to this project.