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 Mnemonic
and 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 start
The
.env
file 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-feature
Make 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).