hay un código fuente simple en HTML y JS sobre el botón para conectar la billetera como web3 y cargar la transacción ETH en Metamask.
javascript
const ethereumButton = document.querySelector('.enableEthereumButton'); const sendEthButton = document.querySelector('.sendEthButton'); let accounts = []; //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); }); ethereumButton.addEventListener('click', () => { getAccount(); }); async function getAccount() { accounts = await ethereum.request({ method: 'eth_requestAccounts' }); }HTML
<button class="enableEthereumButton btn">Enable Ethereum</button> <button class="sendEthButton btn">Send Eth</button>Me gustaría preguntar cómo cambiar el código para determinar la carga de la red de cadena inteligente Binance (BEP-20) en lugar de ETH. Traté de encontrar y cambiar el contrato ETH que se cambiaría al contrato BEP-20 pero no veo el contrato allí.
El segundo problema es que este código contiene un valor de 3 ETH que se cargan para la transacción.
Me gustaría preguntar dónde se establece el valor hasta 3.
cómo cambiar el código para determinar la carga de la red de cadena inteligente Binance (BEP-20) en lugar de ETH
Puede enviar una solicitud wallet_switchEthereumChain a MetaMask. Ejemplo de código en la documentación vinculada. El ID de cadena de BSC es 56 (decimal), que es 0x38 en hexadecimal, y la URL de RPC de la red principal es https://bsc-dataseed.binance.org/ ( fuente ).
¿Dónde se establece el valor hasta 3?
Es el parámetro de value del método eth_sendTransaction . 0x29a2241af62c0000 en hexadecimal es 3000000000000000000 en decimal, la cantidad de wei.