Last updated a year ago
CIP25, the NFT standard for Cardano, currently does not have an open source Rust, WASM or Typescript library to parse the on-chain metadata. Instead, users simply use a JSON representation of its data
We will create a native Rust, WASM and Typescript library that parses CIP25 from CBOR based on its CDDL specification given in CIP25
This is the total amount allocated to cip25 (NFT) Rust & WASM library.
Currently, there is no native Rust library that supports CIP25. That means Rust projects that many users depend on such as Oura, Carp, CSL and CML all have ad-hoc implementations of CIP25 parsing. This is unfortunately because it allows limited indexing of CIP25 data using these tools and, in the worst case, can lead to subtle errors on CBOR parsing.
We plan to solve this by writing a native Rust library for CIP25 parsing that makes use of dcSpark's latest work on transaction metadata library codegen based off CDDL specifications. We intend to also make this library usable from WASM and therefore Typescript as well which should be usable from most Cardano projects.
Currently developer tools written in Rust have ad-hoc implementations of CIP25 which restricts the functionality they can support and increases the chance of subtle bugs. This library will make it easier to write dev tools in Rust, WASM-compatible languages and Typescript that need to consume the CIP25 standard
CIP25 is just a standard for Cardano and a lot of NFT projects have made mistakes in its implementation due to the lack of a CIP25 library like the one we are proposing to create. That means this library won't be able to parse these projects properly. Future work may be required to loosen the format to allow for these projects to be supported
All funds will be used towards the development costs of the project
Github handles are SebastienGllmt and rooooooooob
No, unless there is a large breaking change to CIP25 in the future that requires a significant rewrite (no such thing planned)
Progress towards the implementation as outlined by the steps mentioned above
Successful release of this project and having it integrated into other tools
New project
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Our team consists of the creations of many Cardano Rust efforts used by most Cardano projects including CSL, CML and cddl-codegen.