GithubHelp home page GithubHelp logo

isabella232 / token-vouching Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openzeppelin/token-vouching

0.0 0.0 0.0 1.59 MB

Vouching contracts and scripts for the OpenZeppelin SDK token

Solidity 10.57% Shell 0.28% JavaScript 89.14%

token-vouching's Introduction

OpenZeppelin SDK token vouching

This project was formerly known as ZeppelinOS vouching (zos-vouching). This documentation and the related npm package still use the old naming.

standard-readme compliant Build Status

Vouching logic for the EVM packages of the ZeppelinOS smart contract platform

ZeppelinOS is a platform to develop, deploy and operate smart contract projects on Ethereum and every other EVM and eWASM-powered blockchain.

This is the repository for the ZEP Token and the contracts to use it to vouch for EVM Packages.

Background

ZeppelinOS provides a mechanism in which an EVM package can be registered and vouched for using ZEP tokens. The tokens vouched for an EVM package can be challenged by other ZEP holders whenever a deficiency in the EVM package is presented for evaluation. In such a situation, the package's vouched tokens could be slashed in favor of the challenger.

The end goal is that this simple mechanism will allow ZEP that is vouched for an EVM package to represent:

  • A measure of the quality of the code of the EVM package.
  • A measure of the support that the EVM package has from the community.
  • A financial buffer for the development of new features in the EVM package.
  • A financial buffer for the auditing of the code of the EVM package.

Install

First, install Node.js and npm. Then, install the vouching contracts running:

npm install zos-vouching

Usage

Currently, the ZeppelinOS vouching mechanism can be used only by calling the Vouching.sol contract directly. The address of this deployed contract can be found in the zos.<network>.json files, that have just been installed to the node_modules/zos-vouching/ directory.

For example, open truffle console --network <network> and run:

truffle(<network>)> vouching = Vouching.at(<vouching-contract-address>)

Then create a dependency calling:

truffle(<network>)> vouching.create(name, owner, dependencyAddress, initialStake)

Where name is a string that will represent the dependency, owner is the address of the account that will own the dependency, dependencyAddress is the address of the EVM package and initialStake is the amount to be vouched.

After the dependency is created, the owner can vouch or unvouch tokens to the EVM package:

truffle(<network>)> vouching.vouch(name, amount)

or:

truffle(<network>)> vouching.unvouch(name, amount)

Security

If you find a security issue, please contact us at [email protected]. We give rewards for reported issues, according to impact and severity.

Maintainers

Contribute

To contribute, join our community channel on Telegram where you can talk to all the ZeppelinOS developers, contributors, partners and users.

You can also follow the recent developments of the project in our blog and Twitter account.

License

MIT © Zeppelin

token-vouching's People

Contributors

facuspagnuolo avatar fiiiu avatar jbcarpanelli avatar maraoz avatar nventuro avatar spalladino avatar theethernaut avatar tinchoabbate avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.