Tokens

如何計算正確數量的令牌以在 0x 報價端點中使用

  • September 11, 2020

我正在嘗試使用 0x 用 ETH 購買代幣。我正在關注https://0x.org/docs/guides/swap-tokens-with-0x-api#swap-eth-for-1-dai上的範例。

我得到了令牌地址和小數點。假設 USDC 和 6。假設我想購買 1 USDC。如何計算需要傳遞給 buyAmount 的值?我嘗試了幾件事:傳遞'1’,傳遞'1000000’(1和6個0)。我試了5個0。當它到達 MetaMask 時,總是錯誤的數量:10 或 100 等等。而且費用很瘋狂(購買 10 USDC 需要 39 美元的汽油?)。

其他代幣和金額的情況更糟。誰能告訴我如何使用小數將我想購買的金額轉換為我需要發送到報價端點的金額?

讓我們將代幣的小數點稱為d您想要購買的數量a。然後您要查找的值可以通過 計算a * 10^d

範例:您想購買 50 USDC ( a = 50) 而 USDC 有 6 位小數 ( d = 6)。金額為50 * 10^6 = 50000000

引用自:https://ethereum.stackexchange.com/questions/87367