Metamask 'Contract Interaction' 定义函数的标签?
Metamask 'Contract Interaction' label for defined function?
使用 metamask,我有这两个函数,它们(大部分)对智能合约的调用几乎相同:
localContract.methods
.presaleMint(window.ethereum.selectedAddress, ipfs)
.send({
from: window.ethereum.selectedAddress,
value: web3.utils.toWei(price * amount + "", "ether"),
gas: 240000 * (100 - amount * 4) / 100 * amount
})
localContract.methods.togglePresale().send({
from: window.ethereum.selectedAddress,
gas: 800000
})
我看到的主要区别是第一个函数有参数。
但我的问题是,为什么 metamask 给出第二个调用函数的名称,而不是第一个? (先只显示'Contract Interaction')
我可以看到这是在 git 年前在 metamask 上提出的,我很惊讶它仍然是这样设置的......
https://github.com/MetaMask/metamask-extension/issues/8835
MetaMask 使用字典将函数选择器(0x
和 data
字段的前 8 个十六进制字符)翻译成 human-readable 名称。
如果 MM 在字典中找不到函数选择器,他们会使用通用标签“合约交互”。
如何将您的函数选择器(属于 presaleMint()
函数)添加到他们的词典中:https://docs.metamask.io/guide/registering-function-names.html#verify
使用 metamask,我有这两个函数,它们(大部分)对智能合约的调用几乎相同:
localContract.methods
.presaleMint(window.ethereum.selectedAddress, ipfs)
.send({
from: window.ethereum.selectedAddress,
value: web3.utils.toWei(price * amount + "", "ether"),
gas: 240000 * (100 - amount * 4) / 100 * amount
})
localContract.methods.togglePresale().send({
from: window.ethereum.selectedAddress,
gas: 800000
})
我看到的主要区别是第一个函数有参数。
但我的问题是,为什么 metamask 给出第二个调用函数的名称,而不是第一个? (先只显示'Contract Interaction')
我可以看到这是在 git 年前在 metamask 上提出的,我很惊讶它仍然是这样设置的...... https://github.com/MetaMask/metamask-extension/issues/8835
MetaMask 使用字典将函数选择器(0x
和 data
字段的前 8 个十六进制字符)翻译成 human-readable 名称。
如果 MM 在字典中找不到函数选择器,他们会使用通用标签“合约交互”。
如何将您的函数选择器(属于 presaleMint()
函数)添加到他们的词典中:https://docs.metamask.io/guide/registering-function-names.html#verify