Let say there is a BEP20 token (tokenA)on the blockchain with an internal function _burn and a total supply of 100000000 token i want to write a new Smart contract that can burn token TokenA and substract from the supply how can i proceed? I've tried many solutions but still unable to call the function_burn
How to burn token of Smart contract from another Smart contract?
4k views Asked by Rozales At
1
There are 1 answers
Related Questions in BLOCKCHAIN
- Sepolia test network ID
- Gas Estimation Fee on Tron Mainnet
- This is the solidity code to list nft in marketplace after minting but while calling makeItem function Error is showing that Faliled to estimate gas
- Trying to send transactions via a signer using my private key
- My question is regarding installation of a package in VS code but im getting an error in installing it
- Historical data scrapping / collection for Ethereum
- Installation Private Blockchain
- How to import rpc information without importing .env file or hardcoding on frontend?
- How do I speed up transaction filtering on solan blockchain?
- Undeclared identifier: VRF_V2_Wrapper.calculateRequestPrice()
- how to interpret and format iterest rates and index returned by aave event
- Can I swap with 1inch swap apis with forked hardhart?
- How to connect metamask to flutter mobile app
- Scraping 'offers' data from OpenSea
- Which web3 decentralized wallet is suitable to store my crypto assets and lock some of the tokens for certain time?
Related Questions in SOLIDITY
- Solidity based blockchain not getting account and networkId
- unexpected keyword or identifier .ts(1434)
- Gas estimation failed | Returned error: gas required exceeds allowance (16966)
- This is the solidity code to list nft in marketplace after minting but while calling makeItem function Error is showing that Faliled to estimate gas
- My question is regarding installation of a package in VS code but im getting an error in installing it
- unsupported addressable value (argument="target", value=null, code=INVALID_ARGUMENT, version=6.11.1
- Error when deploying contract using ethers v6
- Error when fetching pending voters from smart contract using ethers.js
- IERC20 token.transfer always fails when called from within smart contract
- Solidity: How can I get an array of owners of my ERC20 and make a smart contract that uses that without exceeding the gas limit?
- Solidity call pancakeswap v3 contract exception
- Merkle Tree that should handle both odd and even numbers of leaves
- Uniswap v3 flashloan remainging balance not correct after paying off the loan
- connecting trust wallet mobile to my dapp
- Solidity Smart Contract & Hedera Hashgraph Javascript SDK Integration
Related Questions in ERC20
- Is there a polygon amoy chain for thirdweb?
- Solidity: How can I get an array of owners of my ERC20 and make a smart contract that uses that without exceeding the gas limit?
- How can you give a smart contract approval to use your ERC20 token? Is there any way to transfer a token through a smart contract other than approve?
- Fetching Approved USDT Amount from User to Admin Wallet Using Etherscan USDT Contract Code
- Blind signing when trying to send USDT over Arbitrum network
- When I was using the web.js library and Polygon-USDT contract ABI to send transactions, I was prompted that the transfer method does not exist
- Developing a Contract to Manage Approved Token Balances
- How to calculate sqrtPricex96 for uniswap pool creation?
- Send ERC-20 Token Transaction using Web3 js and Private Key
- Wagmi & hooks: call multiple hooks in one button click?
- DeclerationError:Function with same name and parameter types defined twice solicity .deps/npm/@openzeppelin/contracts/token/ERC20/ERC20.sol
- Smart contracts to manage funds and transactions data
- Can We Upgrade the Name and Symbol of ERC20 Token
- How to fix ERC20 token approve problem using web3js in polygon mainnet?
- ResponseError: Returned error: The requested account and/or method has not been authorized by the user
Related Questions in BEP20
- Got an Error The contract function "addLiquidityETH" reverted with the following reason: TRANSFER_FROM_FAILED
- How to extract the addresses of the swapped tokens from the receipt data?
- nodejs web3 signe bep20 token gasprice too high
- nodejs web3 bsc bep20 token transfer gas price need BNB or EHT
- Can I send BEP-20 to web3 ethereumjs-wallet.js?
- Transaction has been reverted by the EVM
- how to reduce token total supply from Bep20?
- How to buy both USDT and ETH in Token Presale?
- Faucet contract only permits owner to perform transactions
- Transferring ERC20 contract to BEP20
- It is possible to change BEP-20 smart contract code?
- MetaMask can't submit transacion
- Requesting random number on Chainlink Testnet and getting zeroes
- how to avoid intermediate conversion while bep20 token swap between busd -> my own token
- How do I increase the token amount? (BEP20)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Since the function is internal, it means it can only be accessed internally within the contract itself or in contracts deriving from it.
You can either use ERC20Burnable extension (link below) or implement the _burn function inside your token contract with external/public modifier. This way, other contracts can call the function.
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC20Burnable.sol
ERC20Burnable version:
Token contract:
Burning contract:
Your contract version:
Token contract:
Burning contract:
Decreasing supply is already implemented inside _burn function, so no need to worry about that. https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol#L290
Keep in mind that the burning contract needs allowance to spend the owner's tokens. You can do that by using approve function of the token contract with the burning contract's address as the parameter:
While deploying the burning contract, make sure to add the token address as the constructor parameter.