@amra-finance/testchain v1.1.0
Yin Stablecoin System Testchain
This tool will help you set up a local testchain with the yiss contracts deployed on it.
The branch yin.js is configured with the contracts needed for yin.js.
Installation and requirements
Requires Seth, Nix, Node.js and Bash.
Run npm install or yarn install to install Ganache.
Typical usage
scripts/launch -s vanilla-yiss --fastUsage
Run scripts/launch.
If run with no arguments, it will start Ganache at 127.0.0.1:2000 with the chain data it finds in var/chaindata, and run until killed with Ctrl-C.
If var/chaindata does not exist, and the --reset-chaindata argument is not present, the default snapshot will be used to create it.
Once the deployment is complete, you will find the list of contract addresses in the out/addresses.json file.
Options
-s, --snapshot: Optional. This should match the name of a folder under thesnapshotsfolder. This will be copied tovar/chaindata, overwriting anything there.-d, --deploy: Optional. If set,scripts/deploywill be run once Ganache is set up, to deploy contracts to the test chain.--fast: Skipgit submodule updateand skip runningdapp buildfor dapps that are already built. This is accomplished by setting theSKIP_BUILD_IF_ALREADY_BUILTenvironment variable, so the dapp build scripts must be written (or modified; see the use ofsed_inplaceinscripts/deploy) to support it.--reset-chaindata: Start the testchain with no data.-u, --skip-update: Skip the git submodule updates, but still rundapp buildon the contracts.-p, --port: Start Ganache on a different port.--throw-revert: Have Ganache throw an exception whenever a transaction is reverted.--ci: If this is set, all unrecognized arguments will be treated as a new command. This command will be run, and Ganache will exit afterward.
Deploying changes to contract code
When the deploy script is run, it copies ABI files and output addresses of deployment contracts to a file in out/ directory. These can be copied into the source code of applications working with the test chain as you see fit.
Creating new snapshots
Use scripts/create-snapshot NAME to copy the contents of var/chaindata into a new folder snapshots/NAME. Add --force if you want to replace an existing snapshot.
Rebuilding YISS
./scripts/launch --deploy --reset-chaindataYou can edit scripts/deploy-yiss to tweak the build parameters or add to it.
LICENSE
Copyright (C) 2019 Maker Ecosystem Growth Holdings, INC.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.