ERC20 Continuous Token backed by bonding curves and an automated market maker contract.
├── app/ (Frontend React application)
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
├── config/
├── contracts/ (Solidity smart contracts, or "the backend")
├── migrations/ (Smart contract deployment scripts)
├── test/ (Smart contract unit tests)
└── README.md
To get started, install the following on your machine:
New to Solidity? Here are some recommended resources to start with.
- Truffle Pet Shop tutorial: An end-to-end walkthrough of the basics of building a dApp.
- Program the Blockchain: A series of Solidity tutorials.
- Solidity in Depth: It's important to familiarize yourself with the Solidity language.
- ERC20 Token Standard Interface: Other than the Solidity, you'll want to get familiar with the ERCX standards and EIP proposals within the ecosystem. The ERC20 standard is a widely adopted interface for tokens.
- OpenZeppelin: Once you have a firm grasp of the language and standards, start going through open source Solidity projects. The OpenZeppelin project is a useful (albeit incomplete) overview of what's possible with smart contracts.
- Smart Contract Best Practices: Helps you understand non-functional requirements within the smart contract ecosystem: design patterns, security, upgradability, and tooling.
- Ethernaut: Advanced security topics. Optional, but important.
- First, make sure that Ganache running locally at port
7545: - Go to Settings > Accounts & Keys
- Disable
Autogenerate HD Mnemonicand enter a Mnemonic you wish to use.
git clone https://github.com/yosriady/continuous-token
cd continuous-token
npm install # Installs dependencies
npm run setup:hooks # Sets up pre-commit hook to automatically run linters and unit tests
npm run test
npm run startThe
.envfile is used to deploy to Testnets such asRinkeby. If you're developing locally, you can skip this step.
Create an .env file in this project's root directory (see env.sample for an example):
MNEMONIC='foobar'
INFURA_ACCESS_TOKEN='test'
We follow GitHub Flow.
To get started, create a new feature branch off of master:
git checkout -b feature/my-new-featureMake your changes, then create a pull request, and ask for a review. After the review is approved, the author should merge the pull request to master. For this we always try to "squash and merge".
continuous-token ❤️ 2018+, Yos Riady. Released under the MIT License.
Authored and maintained by Yos Riady with help from contributors (list).