solana-program-library/account-compression/README.md

37 lines
1.5 KiB
Markdown

# 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](https://github.com/metaplex-foundation/metaplex-program-library/tree/master/bubblegum) 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](https://drive.google.com/file/d/1BOpa5OFmara50fTvL0VIVYjtg-qzHCVc/view).
## 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](https://github.com/metaplex-foundation/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`
## Audit
The repository [README](https://github.com/solana-labs/solana-program-library#audits)
contains information about program audits.