首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Metamask移动钱包上显示的用户确认金额与联合的请求不同

在Metamask移动钱包上显示的用户确认金额与联合的请求不同
EN

Ethereum用户
提问于 2023-03-21 08:30:46
回答 1查看 56关注 0票数 2

我正在集成这里给出的MetaMask统一插件:https://assetstore.unity.com/packages/decentralization/infrastructure/metamask-246786

并遵循这里提供的文档:https://c0f4f41c-2f55-4863-921b-sdk-docs.github.io/guide/metamask-sdk-unity.html

允许用户将他们的MetaMask移动钱包应用程序与我的Windows连接起来,并授权交易。

我使用他们提供的代码片段在Sepolia上测试事务(rpc: rpc.sepolia.org,chainID: 11155111):

代码语言:javascript
复制
var wallet = MetaMaskUnity.Instance.Wallet;
var transactionParams = new MetaMaskTranscation
{
    To = "0xd00..................................a",
    From = MetaMaskUnity.Instance.Wallet.SelectedAddress,
    Value = "0x0" //------------------------> note
};

var request = new MetaMaskEthereumRequest
{
    Method = "eth_sendTransaction",
    Parameters = new MetaMaskTranscation[] { transactionParams }
};
await wallet.Request(request);

我修改了接收地址和要发送的值。钱包是连接和交易工作的,除了不正确的数额显示和转移到接收者。据我所知,这个插件所要求的值是魏的,而移动应用程序中显示的值将显示大于0.00001 eth的以太值。对于较小的数量,我需要从块资源管理器确认。

下面是我做过的一个示例事务(不要扫描这个):

对于下面的txRequests,Mobile在弹出请求中显示了相应的金额。

代码语言:javascript
复制
Sent Request           Received Request     Gas Fee       Total
1000000000000          0.00028            + 0.000032    = 0.000313
10000000000000         0.00045            + 0.000032    = 0.004536
100000000000000        0.07206            + 0.000032    = 0.007209

我不明白这种转换,因为据我所知,1 we= 10^-18。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2023-03-24 05:14:26

它的意图是,以"0x“开头的字符串将被解析为十六进制,而其他字符串则被解析为小数。但是,目前该方法试图以十六进制格式解析这两种字符串。因此,如果我们发送'1‘或'0x1’,它将两者都视为1魏,'A‘为'10','16’为22,等等。

因此,我们可以传递值的十六进制格式。不过,这一问题将在今后的更新中得到解决:

https://community.metamask.io/t/metamask-unity-plugin-shows-different-ethereum-amount-for-user-confirmation-on-metamask-mobile-wallet-than-that-requested-by-unity/24757

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/147717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档