@keyko-io/contract-tools
v0.2.1
Published
The Nevermined Zeppelin OS contract management framework
Downloads
5
Readme
Nevermined Contract Tools
💧 The Nevermined Zeppelin OS contract management framework keyko.io
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.