如何在 BSC 网络上手动销毁代币

问题描述

我在币安智能链上部署了一个代币合约,我想手动销毁一些代币,从而从某种控制台执行以下函数调用

myContract.burn(10000);

我有 ABI 和字节码

我可以如何以及在何处执行此操作?

解决方法

如果 burn() 函数具有 publicexternal 可见性修饰符,您可以通过提交包含函数签名和 {{} 中的参数值的交易来执行它1}} 字段。

其中一种方法是手动或半手动构建 data 字段值

data

哪个返回

const data = web3.eth.abi.encodeFunctionCall({
    name: 'burn',type: 'function',inputs: [{
        type: 'uint256',name: '_amount'
    }]
},[10000]);
  • 0x42966c680000000000000000000000000000000000000000000000000000000000002710 是函数签名
  • 42966c682710 (dec) 的十六进制值

并将其传递给任何支持自定义数据字段的钱包(例如 MyEtherWallet)。


另一种方法是使用 10000 实例化您的合约并从那里执行函数。这会为您生成 web3.eth.Contract 字段,如果您已正确配置您的 web3 实例,它还会使用您的私钥签署交易并将其广播到网络。

data

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...