簡體   English   中英

Web3.js 和 MetaMask ethereum.request:是否可以指定用於支付的特定加密/令牌?

[英]Web3.js and MetaMask ethereum.request: is it possible to specify specific crypto/token used to pay?

我將使用 web3.js 和 MetaMask 在接受加密的網站上設置一些“點擊支付”按鈕。 我想確保不同的按鈕自動引導用戶使用不同的貨幣,例如 ETH、MATIC 和其他 ERC-20 代幣等。

我不確定如何使用以下代碼執行此操作,該代碼似乎適用於用戶連接到的任何網絡:

const accounts = await ethereum.request({ method: 'eth_requestAccounts' });
const account = accounts[0];
console.log(account);   
var hex_value = '0x'+parseInt(my_input['amount'], 10).toString(16); // gets me the right value in hex

const transactionParameters = {
    from: account,
    to: MyContractAddr,
    data: MyContract.methods.processPayment(
        my_input['name'],
        my_input['amount'],
        my_input['date']
    ).encodeABI(),
    value: hex_value,
};
// popup - request the user to sign and broadcast the transaction
await ethereum.request({
    method: 'eth_sendTransaction',
    params: [transactionParameters],
});

我怎樣才能使上述特定於特定的加密貨幣,例如 ETH 或 MATIC? 似乎兩者都可以正常工作,但是作為網站上的用戶,我手動 select 我是哪個網絡以及我通過 MetaMask 使用哪種貨幣,所以我很困惑。 我希望這是自動決定的,而不是用戶能夠支付“20 單位”的“任何”加密貨幣。

我怎樣才能使上述特定於特定的加密貨幣,例如 ETH 或 MATIC?

ERC-20 代幣由其智能合約地址識別。 您可以使用代幣搜索來查找您要用於支付的代幣的智能合約地址 然后用戶對代幣智能合約進行transfer()transferFrom()調用以完成支付。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM