1.1.0 • Public • Published

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


Run scripts/launch.

If run with no arguments, it will start Ganache at 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.


  • -s, --snapshot: Optional. This should match the name of a folder under the snapshots folder. This will be copied to var/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: Skip git submodule update and skip running dapp build for dapps that are already built. This is accomplished by setting the SKIP_BUILD_IF_ALREADY_BUILT environment variable, so the dapp build scripts must be written (or modified; see the use of sed_inplace in scripts/deploy) to support it.

  • --reset-chaindata: Start the testchain with no data.

  • -u, --skip-update: Skip the git submodule updates, but still run dapp 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.


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/.




Package Sidebar


npm i @amra-finance/testchain

Weekly Downloads






Unpacked Size

19.7 MB

Total Files


Last publish


  • stefanionescu