@keyko-io/contract-tools

0.2.1 • Public • Published

banner

Nevermined Contract Tools

💧 The Nevermined Zeppelin OS contract management framework keyko.io

Build NPM Release

Table of Contents


Get Started

npm i @keyko-io/contract-tools

Usage

To deploy the contract MyContract do the following:

const {
    deployContracts
} = require('@keyko-io/contract-tools')

await deployContracts({
    // web3, coming from truffle
    web3,
    // artifacts, coming from truffle
    artifacts,
    evaluateContracts: ({
        contracts = []
    } = {}) => {
        // decide which contracts to deploy here
    },
    initializeContracts: async ({
        contracts,
        roles,
        network,
        verbose = true
    } = {}) => {
        // call the initializer of each contract here
    },
    setupContracts: async ({
        addressBook,
        artifacts,
        roles,
        verbose
    } = {}) => {
        // call the contracts here to set them up
    },
    contracts: [
        'MyContract'
    ],
    // forces the creation of wallets all the time
    forceWalletCreation: true,
    // clean zos session files 
    clean: true,
    // clean zos files and wallets on the current network as well
    deeperClean: true,
    // are we going to deploy to a testnet or a mainnet?
    testnet: false,
    // be verbose or not
    verbose: true
})

An example of the whole flow can be found here

An example of evaluateContracts can be found here

An example of initializeContracts can be found here

An example of setupContracts can be found here

Testing

Run tests with npm run test.

Prior Art

This project builds on top of the work done in open source projects:

Attribution

This project is based in the Ocean Protocol Dori project. It keeps the same Apache v2 License and adds some improvements. See NOTICE file.

License

Copyright 2020 Keyko GmbH
This product includes software developed at
BigchainDB GmbH and Ocean Protocol (https://www.oceanprotocol.com/)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Readme

Keywords

none

Package Sidebar

Install

npm i @keyko-io/contract-tools

Weekly Downloads

0

Version

0.2.1

License

Apache-2.0

Unpacked Size

64.2 kB

Total Files

46

Last publish

Collaborators

  • ssallam
  • aitorargomaniz
  • sgerske