solidity - 为以太坊交易分配“价值”参数
问题描述
我正在尝试为以太坊交易的 value 参数分配 0.05 Ether 的值,如下面的代码中所述。我不明白如何将 50000000000000000 Wei (0.05 Eth) 转换为描述为“0x29a2241af62c0000”的格式。请有人告诉我如何将 50000000000000000 wei 转换为这种格式,它到底是什么?
//Sending Ethereum to an address
sendEthButton.addEventListener('click', () => {
ethereum
.request({
method: 'eth_sendTransaction',
params: [
{
from: accounts[0],
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
value: '0x29a2241af62c0000',
gasPrice: '0x09184e72a000',
gas: '0x2710',
},
],
})
.then((txHash) => console.log(txHash))
.catch((error) => console.error);
});
解决方案
0x29a2241af62c000
是十进制数的十六进制表达式187500000000000000
。
您可以使用原生 JS 方法toString()
将十进制数转换为十六进制形式。
'0x' + (50000000000000000).toString(16)
返回
0xb1a2bc2ec50000
或者如果你想使用 web3,有numberToHex()方法。
推荐阅读
- python-3.x - 在给定欧拉角的情况下,在 Blender Python 中获取定向光线上的 3D 点
- angular - 角料芯片多选问题
- c# - 未设置类别条件的 nunit
- r - 使用 R 和 mongolite 更新集合
- ios - Lightning 组件在 Save for iOS 设备上崩溃,并且适用于 Android 和桌面。可能的原因和解决方法是什么?
- hive - 使用游侠策略来屏蔽表列
- javascript - 如何验证元素的祖先是否包含某种类型?
- android - Android + Bitrise + Codecov 忽略不工作
- php - 用PHP提取json字符串
- vuetify.js - 如何在 Vuetify 自动完成中从与“值”不同的键进行搜索?