solana-program-library/account-compression
Jon Cinque ae994afa3e
Update repo to `edition = "2021"` (#3900)
2022-12-13 23:46:26 +01:00
..
programs Update repo to `edition = "2021"` (#3900) 2022-12-13 23:46:26 +01:00
sdk Account Compression: add docs link for account compression (#3783) 2022-10-29 10:27:23 -04:00
Anchor.toml Account Compression: Version ChangeLog + Test (#3632) 2022-09-22 15:05:24 -04:00
Cargo.lock Expose more types from CMT (#3875) 2022-12-06 11:32:41 -05:00
Cargo.toml account-compression: Rename packages, prep for release (#3600) 2022-09-13 17:44:18 +02:00
README.md Account Compression: 0.1.2 release (#3672) 2022-10-06 11:58:16 -05:00

README.md

Account Compression (Beta)

This on-chain program provides an interface for composing smart-contracts to create and use SPL ConcurrentMerkleTrees. The primary application of using SPL ConcurrentMerkleTrees is to make edits to off-chain data with on-chain verification.

This program is targeted towards supporting Metaplex Compressed NFTs and may be subject to change.

Note: Using this program requires an indexer to parse transaction information and write relevant information to an off-chain database.

A rough draft of the whitepaper for SPL ConcurrentMerkleTree's can be found here.

Rust Packages

  • spl-account-compression: SDK for interacting with account compression program
  • spl-noop: SDK for interacting with no op program, primarily for circumventing log truncation
  • spl-concurrent-merkle-tree: SDK for creating SPL ConcurrentMerkleTrees

Typescript SDK

@solana/spl-account-compression is generated using Metaplex Foundation's Solita.

Testing and Development

Testing contracts locally requires the SDK to be built.

With a built local SDK, the test suite can be ran with:

  1. yarn link @solana/spl-account-compression
  2. yarn
  3. yarn test