Blockchain 如何在BSC网络上手动刻录令牌

Blockchain 如何在BSC网络上手动刻录令牌,blockchain,solidity,smartcontracts,binance-smart-chain,Blockchain,Solidity,Smartcontracts,Binance Smart Chain,我在Binance智能链上部署了一个令牌契约,并希望手动刻录一些令牌,从而从某种控制台执行以下函数调用 myContract.burn(10000); 我有ABI和字节码 如何以及在何处执行此操作?如果burn()函数具有public或external可见性修饰符,则可以通过提交包含数据字段中的函数签名和参数值的事务来执行此操作 其中一种方法是手动或半手动构建数据字段值 const data = web3.eth.abi.encodeFunctionCall({ name: 'burn

我在Binance智能链上部署了一个令牌契约,并希望手动刻录一些令牌,从而从某种控制台执行以下函数调用

myContract.burn(10000);
我有ABI和字节码

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

如果
burn()
函数具有
public
external
可见性修饰符,则可以通过提交包含
数据
字段中的函数签名和参数值的事务来执行此操作

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

const data = web3.eth.abi.encodeFunctionCall({
    name: 'burn',
    type: 'function',
    inputs: [{
        type: 'uint256',
        name: '_amount'
    }]
}, [10000]);
返回

0x42966c680000000000000000000000000000000000000000000000000000000000002710
  • 42966c68
    是函数签名
  • 2710
    10000
    的十六进制值(dec)
并将其传递给任何支持自定义数据字段的钱包(例如MyEtherWallet)


另一种方法是使用
web3.eth.contract
实例化您的合同,并从那里执行函数。这会为您生成
数据
字段,如果您正确配置了web3实例,它还会使用您的私钥对事务进行签名并将其广播到网络

const contract = new web3.eth.Contract(jsonInterface, contractAddress);
contract.methods.burn(10000).send({from: yourAddress});