Skip to content

metaplex-foundation/mpl-token-metadata

Repository files navigation

Metaplex Token Metadata

Program to attach additional data to Fungible or Non-Fungible tokens on Solana. It achieves this using Program Derived Addresses (PDAs) that are derived from the address of Mint accounts.

Metaplex Token Metadata

Getting Started

The packages below can be used to interact with Token Metadata program.

TypeScript

npm install @metaplex-foundation/mpl-token-metadata

See typedoc documentation.

Rust

cargo add mpl-token-metadata

See crate documentation.

Building

From the root directory of the repository:

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

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

Testing

Token Metadata includes two sets 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

Documentation

Full documentation for Token Metadata can be found here developers.metaplex.com/token-metadata.

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.