1

Firstly, thank you for helping me out in understand this. Suppose, if I have an ERC20 token contract (with all the required functions implemented including Transfer() function) deployed on the blockchian and a wallet implemented with basic functionality, say send tokens from my address to another wallet address.

To send tokens, my wallet creates a transaction, signs it and sends it to the blockchain. If I am not wrong, this transaction invokes Transfer() function which subtract tokens in my account and adds them to the receiver account. On successful invocation, the tokens are transferred.

Similarly, all the other functions are invoked through my wallet right? Sorry, if it is a silly question to ask.

Thanks Muni

1 Answer 1

2

To send tokens you call the transfer function of the contract. This is done by sending a transaction with a value of 0 ETH to the token contract, with transaction data containing the function identifier, address to send the tokens to and the number of tokens to send. This is done through your own wallet.

Note that transfer and Transfer are two different things. transfer is a function, and Transfer is an event that is called when you make a transaction (either through transfer or transferFrom).

Functions like transfer, approve, allowance and transferFrom have to be called in a transaction (since they're "write" functions). Other functions, like balanceOf for example, can be called without sending a transaction, using eth_call. You don't need a wallet to call these functions.

A more detailed explanation of how transaction data and token transactions in particular work, can be found here:

https://medium.com/mycrypto/why-do-we-need-transaction-data-39c922930e92 https://medium.com/mycrypto/the-technology-behind-ethereum-tokens-5615527e1af8

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.