Tutorial

Create custom USDC contract for testing on Ethereum Testnet / Polygon Mumbai network

I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint being payable by USDC token, for which I needed to test locally if it works, because forking mainnet is time-consuming.

So I figured I will make super-easy ERC-20 token with 6 Decimals to fit my purpose.

I think this can be deployed easily in a matter of minutes and tested against. I also included function to mint some tokens by whoever come across this contract, because why not.

Of course do not deploy / use this on mainnet!

Pridal/a lubo dňa Št, 09/15/2022 - 06:11
Deploy the contract using Remix

Do not forget to add Ethereum Testnet to your Metamask / Wallet of your choice, or Polygon Mumbai, or BSC testnet etc.

USDC has 6 decimals! This is also why I needed to override decimals function to suit my needs.

Code is as follows:

// contracts/GLDToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract USDC is ERC20 {
    constructor() ERC20("USDC", "USDC") {}
	
	function mintTokens(uint _numberOfTokens) external {
		_mint(msg.sender, _numberOfTokens * (10 ** 6));
    }
	
	function decimals() public view virtual override returns (uint8) {
	  return 6;
	}
	
}

 

Other tokens to suit your tests

While googling how to do this I came across this thread, where someone actually deployed some wETH, DAI and some other clones on multiple testnets. It might suit your needs as well.

https://faucet.paradigm.xyz/

Might interest you

Tutorial
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org functionality to website. Mostly e-shops of course, leading…
Tutorial
There are many ways how to do that, but easier and universal I use is this one.

Recommended

Tutorial
2 views
There is a very handy function in Drupal 8 / 9, allowing developers refresh view when…
Tutorial
2 views
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org…
Tutorial
3 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
1 views
If you are a newbie like I am and struggling with setting the proper MYSQL my.cnf config…
Tutorial
5 views
I had trouble to set this up properly, because documentation is quite misleading or often…