@amra-finance/testchain
v1.1.0
Published
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](https://github.com/amra-finance/yin.js).
Downloads
28
Readme
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 --fast
Usage
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 thesnapshots
folder. This will be copied tovar/chaindata
, overwriting anything there.-d, --deploy
: Optional. If set,scripts/deploy
will be run once Ganache is set up, to deploy contracts to the test chain.--fast
: Skipgit submodule update
and skip runningdapp build
for dapps that are already built. This is accomplished by setting theSKIP_BUILD_IF_ALREADY_BUILT
environment variable, so the dapp build scripts must be written (or modified; see the use ofsed_inplace
inscripts/deploy
) to support it.--reset-chaindata
: Start the testchain with no data.-u, --skip-update
: Skip the git submodule updates, but still rundapp build
on 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-chaindata
You 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/.