Base Protocol is a decentralized elastic supply protocol for creating indices of other tokens. It maintains a price peg by adjusting supply directly to and from wallet holders based on a data feed generated by off-chain oracles. You can read the whitepaper for the motivation and a complete description of the protocol.
This repository is a collection of smart contracts that implement the protocol on the Ethereum blockchain.
# Install project dependencies
npm install
# Install ethereum local blockchain(s) and associated dependencies
npx setup-local-chains
# You can use the following command to start a local blockchain instance
npx start-chain [ganacheUnitTest|gethUnitTest]
# Run all unit tests
npm test
# Run unit tests in isolation
npx truffle --network ganacheUnitTest test test/unit/BaseToken.js
To report bugs within this package, create an issue in this repository. For security issues, please contact [email protected]. When submitting code ensure that it is free of lint errors and has 100% test coverage.
# Lint code
npm run lint
# View code coverage
npm run coverage
GNU General Public License v3.0 (c) 2020 Base Protocol, Inc.