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

plasma-contracts

v0.0.4-beta.2

Published

PG Plasma smart contracts

Downloads

9

Readme

plasma-contracts

Build Status

plasma-contracts is the set of smart contracts written in Vyper for the Plasma Group series of projects. It includes an implementation of a Plasma Cash variant, and a registry contract for discovering Plasma chains. This repo is used for compiling those contracts--If you don't need any modifications, you can spin up your own with plasma-chain-operator or try out other chains with plasma-js-lib.

Contributing

If you're looking to contribute to plasma-contracts, you're in the right place. Welcome!

Contributing Guide and CoC

Plasma Group follows a Contributing Guide and Code of Conduct adapted slightly from the Contributor Covenant. All contributors are expected to read through this guide. We're here to cultivate a welcoming and inclusive contributing environment, and every new contributor needs to do their part to uphold our community standards.

Requirements and Setup

The first step is cloning this repo. Via https:

$ git clone https://github.com/plasma-group/plasma-contracts.git

or ssh:

$ git clone [email protected]:plasma-group/plasma-contracts.git

Node.js

plasma-contracts is tested with Node.js and has been tested on the following versions of Node:

  • 11.6.0

If you're having trouble getting plasma-contracts tests running, please make sure you have one of the above Node.js versions installed.

Packages

plasma-contracts makes use of several npm packages.

Install all required packages with:

$ npm install

Python and Vyper

plasma-contracts is written in Vyper, a pythonic Ethereum smart contract language. You'll need Python 3.6 or above to install Vyper.

We reccomend setting up a virtual environment instead of installing globally:

python3 -m venv venv

To activate:

$ source venv/bin/activate

Install Vyper:

pip3 install vyper

Your venv must be activated whenever testing or otherwise using Vyper, but it will break the npm install, so be sure to $ deactivate if you still need to do that and reactivate afterwards.

Running Tests

plasma-contracts makes use of a combination of Mocha (a testing framework) and Chai (an assertion library) for testing.

Run all tests with:

$ npm test

So that Python and Vyper aren't requirements for our other components, we do include a compiled-contracts folder which contains JS exports of the bytecode and ABI. Compilation is done automatically before testing.