npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

props-template

v1.0.0

Published

A decentralized application development template.

Downloads

1

Readme

Documentation

For a more complete set of project documentation, visit the project documentation.

For SDK specific documentation, visit our sdk documentation

Overview

In an effort to enhance the developer experience of the Neo N3 platform, COZ has developed the PROPS project. This project is the first of many which will significantly improve the ease of use and scalability of both smart contracts and off-chain integrations within our ecosystem.

The PROPS project has 3 primary goals:

  1. Produce a Smart Contract package ecosystem which provides developers with the tools they need to deliver complex on-chain routines to their users out-of-the-box.
  2. Provide a straight-forward framework/template for new projects to clone and build upon.
  3. Deliver real-world contracts with off-chain integrations for developer reference.

The PROPS project is ambiguous in scope outside of those goals. Included within this scope is the minting of puppet NFTs which are defined as General Purpose Utility NFTs. In addition to the value of having a general use utility NFT in the ecosystem for developers to leverage, this particular contract provides multiple great examples of how the other PROPS contracts can be leveraged. Further, it is an excellent reference for new developers who are interesting in NFT development.

While the Puppet NFTs are designed with metaverse applications in-mind, we make no assertions which limit their utility in other product spaces. In most cases, the contracts and their tokens are permissionless. Use them how you see fit.

Quickstart

Quickstart Dependencies:

  • Neo-Express (This can be installed from here or as part of the toolkit here)
  • node v14/16

Setup

get the project: git clone [email protected]:CityOfZion/props.git

  1. neoxp run -s 1 from project root

  2. npm install from project root (in a second terminal from here on)

  3. Configure neo-express:

    neoxp policy sync MainNet genesis
    neoxp transfer 200000 GAS genesis coz
  4. npm run deploy to deploy the contracts

  5. npm run initialize to load static data into the contracts

  6. npm run mintPuppets to mint a bunch of puppets to the coz account.

  7. npm run setIconDAppIcons to set some smart contracts' icons.

  8. start developing; You can reference the sdk tests for usage, to run the sdk tests you also need a checkpoint, you can create it by running npm run createTestCheckpoint. To reset the network refer to Running a Local Private Network.

Project Structure

The PROPS project can be found here and includes everything required to develop a complete decentralized application on Neo N3.

contracts

This directory contains all of the smart contracts encompassed by the PROPS project. Each directory contains both the source (boa) and compiled version of the contracts. Contract developers should consider simply adding a new directory for their contract as a way to get started quickly. For more information about contract development in the props ecosystem, refer to the contract development documentation here

sdk

In addition to the smart contracts, this project includes a complete, well documented SDK which outlines best practices for integrating with smart contracts in the Neo N3 ecosystem from off-chain applications. The SDK includes many design patterns and parsing examples as well as a complete integration with the pre-packaged PROPS smart contracts. Complete SDK documentation is available here Developers who are interested in interfacing with smart contracts off-chain can simply build off the included SDK, expanding it to meet their needs. Refer to here for more complete information about how to use the SDK to interface with the existing PROPS or to expand its features to meet your needs.

It is also available on NPM: @cityofzion/props

parameters

Smart Contracts present a number of unique features when treated as packages. One of these features is the mutability of storage. Two of the included PROPS: collection, and generator leverage user-defined constants. The parameters directory includes a number of examples of these constants, which can be pre-loaded into the contract using some included setup scripts. They are good references to developers who want to use the collection and generator contracts.

Note: Make sure to verify the pointers to these constants (generatorID and collectionID) on public networks before deploying your contracts. We can ensure the pointers in a private development environment, but not on a public testnet or mainnet.

Further information about parameters and constants is covered in the Contracts and SDK sections of this resource.

scripts

The scripts directory contains a number of scripts which are useful for configuring the environment. Feel free to reference them for examples and expand upon them.