Проблема с metamask. Преобразование числа в wei

Всем доброго времени суток. В официальной документации есть пример:

    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);
    });

У меня возникла проблема с value: '0x29a2241af62c0000', Как мне например из числа 0.01 получить подобное значение?

Так же в документации сказано следующее:

Шестнадцатеричное значение национальной валюты сети для отправки. В основной сети Ethereum это эфир. (открывается в новом окне), который обозначен в wei , что означает 1e-18эфир.

Обратите внимание, что эти числа, часто используемые в Ethereum, имеют гораздо более высокую точность, чем собственные числа JavaScript, и могут вызвать непредсказуемое поведение, если его не ожидать. По этой причине мы настоятельно рекомендуем использовать BN.js. (открывается в новом окне)при манипулировании значениями, предназначенными для блокчейна.

Но это не особо помогает. Я пробовал сделать таким образом value: web3.toWei('0.01','ether'),

Результат возвращается в подобном виде 10000000000


Ответы (2 шт):

Автор решения: l1ss1l

консоль

Добился такого результата с помощью:

var costBigNumber = ethers.utils.parseEther('0.01');
        console.log(costBigNumber);

Каким образом я могу отобразить на странице значение _hex??

→ Ссылка
Автор решения: Артур Сафин

Только что сталкивался с этим. Спасибо за ответ на свой же вопрос! Дополню его своим ответом :) Для того, чтобы вывести _hex необходимо дописать совсем немного:

    console.log(costBigNumber._hex);

Теперь будет вывод как надо! Всем удачи и кода без багов!

→ Ссылка