Loaders make it easy to load Ethereum smart contracts. To interact with a contract, whether it's deployed on a local or remote network, you need the address of the deployed contract and its Application Binary Interface (ABI).

Loaders can get the address and ABI of a deployed contract, in a certain version, at a particular location. This information can then passed as an object to the adapter, which then initializes the contract for use within your application or service.

Network Loader

Install the network loader:

yarn add @colony/colony-js-contract-loader-network

Load contract data from a given network using the network loader:

import { NetworkLoader } from '@colony/colony-js-contract-loader-network';

const loader = new NetworkLoader({ network: 'goerli' });

Trufflepig Loader

For local development, colonyJS provides a loader that accepts a contract name and returns its ABI from truffle-generated contract files being sniffed out by our very own TrufflePig.

Install the http loader:

yarn add @colony/colony-js-contract-loader-http

Load contract data from trufflepig using the trufflepig loader:

import { TrufflepigLoader } from '@colony/colony-js-contract-loader-http';

const loader = new TrufflepigLoader();

Future Loaders

  • Check out tailor to learn more about loaders we plan to support in the future.


Questions? Problems? Existential dilemmas? We’re here to help!

Improve this doc.

All improvements to documentation are welcome and encouraged. Submit a PR for documentation on GitHub.