[英]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.