I am running a private ethereum blockchain on my machine using geth. I want to send USDT token from one address to another, but I could not because neither address have any USDT token.

I have tried using Remix to deploy the USDT token contract to the local private blockchain, using the USDT source code: https://cn.etherscan.com/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code In Remix, I used the same Solidity compiler 0.4.18 as what it was shown on Etherscan, and used the Injected Web3 environment along with Metamask for deploying.

However, I get this message:

This contract may be abstract, not implement an abstract parent's methods completely or not invoke an inherited contract's constructor correctly.

How should I transfer USDT token in my private blockchain? What is the correct way to do this?

1 Answer 1


It works just fine here, with Remix and Javascript VM. Here's a screenshot:


I think your problem is that you are trying to deploy the wrong contract. I didn't look too closely but I think TetherToken is the actual token contract you want to deploy and deployment worked fine here. Note that I had to increase the gas limit to get it deployed (hence the first error).

If you try to deploy some other contract which actually is an interface or an abstract contract then you see the error message you showed. The contracts are hierarchical and contracts in certain layers of the hierarchy can't be deployed independently.

  • Hi, thanks for answering. I selected the "TetherToken" contract, fill out the four variables and deploy, it works. However in my Metamask wallet, I have added the USDT token but it still shows 0 token. From what I understand, isn't all the initial supply will go to the account address specified in the Deploy tab? Thanks again.
    – Sean
    Commented Sep 18, 2020 at 5:41
  • Yes, all the initial balance is assigned to the sender. My guess is that your Metamask is not connected to the right network, it's using the wrong token address or it's not synchronized. Please post a new questions if you have further issues. Commented Sep 18, 2020 at 5:44
  • I found out that it is using the wrong token address. Thank you for your help!
    – Sean
    Commented Sep 18, 2020 at 5:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.