Nature Preceded Machines

    plasma-contracts

    0.0.4-beta.2 • Public • Published

    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 git@github.com: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.

    Install

    npm i plasma-contracts

    DownloadsWeekly Downloads

    0

    Version

    0.0.4-beta.2

    License

    MIT

    Unpacked Size

    192 kB

    Total Files

    21

    Last publish

    Collaborators

    • kelvinfichter