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

mychips

v0.2.0

Published

Reference MyCHIPs server

Downloads

6

Readme

MyCHIPs

MyCHIPs is an open-source network protocol for implementing a novel kind of digital money based on private credit and quantified in units of CHIPs:

The CHIP Symbol:

This is not a Bitcoin/blockchain derivative, but rather a whole new (and yet very old) approach that solves several notorious problems with public blockchain systems. Most notably, it is more fully distributed and infinitely scalable.

A Tiny CHIP Network

If blockchain-based coins can be thought of as a crypto-stock or crypto-equity, a digital CHIP would be more like a crypto-bond. Either one can be used as money, or a medium of exchange. However, a system based on private credit is more resilient to things like speculation, volatility, corruption, inflation, and deflation. So it is a better solution when considering these three closely related purposes of money:

- a medium of exchange,
- a store of value, and 
- a measure of value.

For introductory information on the algorithm, check out the MyCHIPs Papers.

Getting Started:

General documentation is found here.

To try out the software, jump in here.

At the current development state, you can launch a configurable number of server processes, as well as a network simulator to create bot users that will begin trading with each other. There is also a rudimentary admin console that allows you to browse the database, generate user connection tokens, and peruse trading contracts.

Project Background:

In 2017, I posted this as an empty project hoping to attract a team of participants. But there was not much traffic, and less interest. Nearly everyone interested in monetary reform seemed to now be chasing after big returns in Blockchain money. So I began programming the project myself.

Initially, this involved reviving some old tools I have successfully used on other projects in the past: Specifically, Wyseman and Wyselib for deployment of a backend database, and Wylib for a frontend GUI.

While Wylib is not the solution for an eventual user interface, it has been what I needed for an administrative console during development. And it can suffice for a crude user SPA until a dedicated mobile app can be built. As of Spring 2021, the BYU Capstone project produced a prototype app authored in Flutter/Dart. Unfortunately the websocket interface is not yet finished so it does not yet talk to the MyCHIPs server.

I originally kept the source closed for some time while I tried to work out an algorithm for performing a distributed lift (the credit clearing function that makes the system work). It also took me a while to figure out a contract and licensing structure I felt would make the system robust and resilient to attack. I want MyCHIPs to be free for everyone to use, but only if they will use it in good-faith commerce and trade as it is intended.

Current Project Status:

The holy grail of MyCHIPs has been a network implementation of the lift protocol introduced in an intuitive way in this article and explained in some more technical detail in this article.

As of March, 2020, the software is successfully discovering, computing and performing fully distributed lifts in a simulated network. I consider this as a "preliminary proof of concept" and so am ready to release this code subject to the attched LICENSE. It will need a lot more work to become production ready, but maybe this provides enough of a testing platform that others will be more willing to help make that happen.

To kick off the public release of the source code, I commissioned a study by DSR Corporation to analyze the lift alorithm as proposed in the documentation and partially implemented in the software. As expected, they uncovered several issues that need improvement before the system can be expected to perform in a fault-tolerant way. Their work and results are summarized here.

In response to that study, I created an outline of how the algorithm might best be improved to resolve the issues uncovered by the DSR study. Now there is work being done at BYU to both validate the original DSR results, and evaluate proposed solutions. Early results would indicate that the improved protocol is now reasonably safe and live.

This represents the current state of the project.

Milestones Completed so Far

  • Backend PostgreSQL database
    • Database authoring/modification tool
    • Data dictionary, including multi-language support
    • Basic schema to support many users per instance
    • User/group/permission structures
    • Future capability for full ERP integration
    • CRUD+A API: CReate, Update, Delete + Actions/reports
  • Multi-function Javascript server
    • Peer-to-peer process
    • Administrator server
    • User access to control layer
  • Frontend GUI framework
    • Vue-based Single Page Applications for administration
    • Vue-based Single Page Applications for user access (demonstration only)
    • Network visualization tool
    • Table previewer
    • Record editor
    • Parametric search tool
    • Support for actions/reports other control-layer functions
    • Support for editing/viewing tally contracts
    • Prototype Flutter/Dart app
  • Simulations
    • Agent-based modeling simulation process (very basic)
    • Local simulation engine (single host)
    • Network based simulation engine (multiple sites)
    • Docker based simulation engine (N sites)
    • Command line UI to create/analyze simulated data sets
  • Model algorithm
    • Users can negotiate tallies with each other
    • Users can exchange chits (credit pledges) with each other
    • Sites can discover possible lift pathways through the network, with no central authority
    • Can (currently manually) initiate circular and linear lifts through the network
    • Chit transactions are stored in hash-chain list
    • Consensus algorithm between stock and foil
  • Test original algorithm (DSR Study)
  • Improved algorithm

Want to help out? Clone this repo and follow the instructions to get a simulated network running and visualize credit lifts in the administrator console.

There is a current project roadmap in the TODO file. Let us know how you would like to participate!

Talent Needs:

  • Distributed asynchronous network consensus protocols (TLA+, SPIN)
  • SSL/TLS, private/public key encryption
  • General Internet security
  • Internet protocols
  • Peer-to-peer networking
  • JavaScript/Node coding
  • SQL, PLPGSQL coding
  • Mobile app development
  • Accounting
  • Economics
  • Contract law

Other Interesting Projects/Resources: