Colendi Token is a ERC-20 token which is built based on open-zeppelin ERC-20 contract. Colendi platform aims to provide a better User Experience for end-users. Whereas, on Ethereum users are asked to have Ether in addition to any utility tokens. Mass adoption of blockchains requires frictionless user onboarding. There has been lots of proposals on this purporse like
- ERC-1776 by Austin Griffith - Native Meta Transactions
- ERC-865 Pay transfers in tokens instead of gas
- ERC-827 The execution of calls inside transfer and approvals
- ERC-677 Transfer and Call
In addition to these proposals, the organizations are built like The Gas Station Network Alliance. Colendi aims to facilitate the interactions of the user with the extended version of ERC-20. Our extensions are as follows :
- approveAndCall
- metaTransfer
- metaTransferFrom
- metaApprove
- metaApproveAndCall
Network | Address |
---|---|
Mainnet | 0xf2ccd161f06d88479b50d4bedbad9992dbdaffdd |
Kovan | 0x35A19cdAE55bFc0F7f63e38a2c97732bB927E5d7 |
The features of Colendi Token are as follows:
Property | Value |
---|---|
Name | Colendi Token |
Symbol | COD |
Decimal | 18 |
Supply | 1000000000 |
This method is based on Austin Griffith's native-meta-transaction. It allows transferring COD tokens without having ETH. The transaction fee is paid in terms of COD to relayer and the relayer routes signed transaction to contract covering fee.
This method allows providing access to anyone for some amount of tokens owned by the user. Currently, most of utility tokens follow approve and transferFrom pattern. Yet it is proven to be secure so far, the user requires ETH to cover at least 2 transactions on network. With this function, user can be less affected of fluctating Transaction fees.
This method allows transferring COD tokens without having ETH on behalf of someone. It would be useful for some decentralized applications. The transaction fee is paid in terms of COD to relayer and the relayer routes signed transaction to contract covering fee.
This method is a replacement for approve & transferFrom pattern. In this case, the user can directly execute the same functionality in just one transaction.
This methods allows executing approveAndCall method without having ETH.
- You can clone the directory onto your local machine and install dependencies
npm install
NOTE THAT YOU CAN USE NPM OR YARN AS PACKAGE MANAGER
yarn install
- Considering common programming paradigms, we integrated our contract deployment within continuous integration practice. The developers can also benefit from the pattern we followed. And, you can also choose to continue without configuring AWS or similar services.
Export environment variables
export infuraKey="INFURA_KEY"
export mnemonic="MNEMONIC MNEMONIC ..."
export gasPrice="2000000000"
export gasAmount="6000000"
You can deploy the contract to Kovan, Rinkeby, Ropsten, Mainnet or local ganache network.
// Mainnet
truffle migrate --network mainnet --reset
// Kovan
truffle migrate --network kovan --reset
// Rinkeby
truffle migrate --network rinkeby --reset
You can test your contract after running a local ganache network.
> ganache-cli
> truffle-test
Alternatively, you can test using solidity-coverage
with following command and get coverage report along with tests.
> ./node_modules/.bin/solidity-coverage
- Node-js (Above version 8)
- Npm (Above version 6)
public doc link: Docs
Contribute us:
- Fork this repository
- Clone to the local machine
- Create a branch and make changes
- Commit changes with clear explanation
- Push changes to Github
- Open a Pull Request
Feel free to submit issues and enhancement requests
email: tech@colendi.com
Colendi Token is provided under Apache License version 2.0. See LICENSE.md for more details.