COZ has unveiled version 1 of its innovative smart contract development tool, Contract Package Manager. Designed to enhance the process of building real-world blockchain applications, CPM aims to save time and reduce the potential for introducing bugs.

Test environment, real-world data

Developing a dApp on Neo typically begins on a private network, with Neo Express being the popular choice. This local version of the Neo blockchain gives developers complete control, including unlimited access to native tokens and network management features. While this is perfect for designing and testing a dApp in isolation, it falls short in testing against existing on-chain infrastructure or real network state.

Manually redeploying tools to the private network or deploying on public networks like TestNet are workarounds, but they are time-consuming and may not fully meet testing needs due to resource limitations and lack of invocation history.

CPM addresses these challenges by leveraging state service tools from Neo N3 nodes. It can fetch any deployed smart contract from public networks, along with its state history, and synchronize it with a local Express instance. This feature allows developers to test their applications against production services on MainNet while enjoying the benefits of a private development environment.

SDK generation

CPM also includes an SDK generation utility, simplifying the process of writing and interacting with smart contracts. Off-chain SDK generation for TypeScript and Python ensures safe and convenient external contract invocation. On-chain SDK utilities for Neo N3 smart contract languages like Go, C#, and Java can be integrated with compilers to facilitate ease of invocation during contract development.

These generators use contract manifest files which detail a contract’s metadata, interfaces, and events. These are fetched from a target network or acquired during the compilation process.

COZ has provided a configuration guide for new users, which aims to help users quickly familiarize themselves with the tool’s capabilities and integrate it into their development workflow. CPM can be installed using the instructions provided in the repo below: