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

@digitalproductpassport/smartcontracts

v1.0.23

Published

Public project for Digital Product Passport with the idea to create an EIP

Downloads

171

Readme

Digital Product Passport Smart Contracts

Introduction

Welcome to the Digital Product Passport Smart Contracts repository! This project aims to implement smart contracts for managing ownership and data related to digital product passports on the Ethereum blockchain.

What is a Digital Product Passport?

Like its travel-friendly namesake, the digital product passport will become a necessary document that accompanies a product on its journey, consolidating data from material sourcing and extraction all the way through to end-of-life recycling. However, instead of a paper booklet, the DPP will be permanently affixed to each product in the form of an NFC chip, QR code, or RFID tag.

The data collection starts at a product’s design phase, documenting the materials it contains, where they were sourced, and where the product was assembled. From that point on, the DPP is continuously updated, showing when and where the product was sold, if it has been repaired, or if any parts were replaced, for example.

Over the course of its lifetime, anyone who interacts with the product – including manufacturers, shoppers, and repair staff – can scan the DPP to instantly reveal all this underlying product information.

Smart Contracts

This repository contains Ethereum smart contracts that facilitate ownership management and data storage for digital product passports.

Ownership Contract

The Ownership contract manages ownership of digital product passports. It allows the owner to add and remove contributors who can perform specific actions on the passport.

This contract is inspired by OpenZeppelin's Ownable.sol contract and aims to modify it for the specific authorization use cases of digital product passports.

ProductPassport Contract

The ProductPassport contract stores details and data related to digital product passports. It allows setting and retrieving product details and associated data.

Test Cases

The test directory contains test cases written in Solidity for the smart contracts. These test cases ensure the correctness and functionality of the contracts.

Getting Started

To get started with this project, follow these steps:

  1. Clone this repository.
  2. Install dependencies using npm install.
  3. Run tests using npm test.

Contributing

Contributions are welcome! Please fork this repository, make your changes, and submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.