¿Cómo obtengo ETH en mi billetera Metamask de testnet?

Después de cambiar a testnet desde el menú desplegable en Metamask, la dirección utilizada sigue siendo mi dirección Mainnet.

web3.eth.getAccounts(function(a,b) {
      Merchant.accounts = b;
      console.log("Merchant accounts: " + Merchant.accounts);
      let x = web3.eth.getBalance;
      console.log(x);
    });

muestra 0xc27a6adac593d1c02355f307ea92f6261269566d, mi dirección de red principal.

He intentado enviar fondos a través de la consola de trufas:

truffle(development)> ma
'0xc27a6adac593d1c02355f307ea92f6261269566d'
truffle(development)> web3.eth.sendTransaction({from: web3.eth.accounts[1], to: ma, value: 10000000000000})
'0x9c59733f9e8bed3f13d6f96589894239a43af6a5e387b40e7a9fad4e0157aaa7'

No veo el cambio de saldo en MetaMask.

¿Cómo agrego fondos a mi Metamask de prueba?

Suponiendo que tanto MetaMask como Truffle estén hablando con la misma red de prueba, esperaría que lo que estás haciendo funcione. (También puede simplemente importar la clave privada de la cuenta que ya tiene en MetaMask).

Respuestas (4)

En primer lugar, no existe tal cosa como una "dirección de red principal" . Todas las direcciones son solo claves privadas, que matemáticamente se transforman en direcciones ethereum.

Lo que significa que puede usar las mismas direcciones en cualquier red. Pero Metamask solo le mostrará los fondos que tiene su dirección en la red activa actual .

Para ver sus fondos, asegúrese de que Metamask apunte a la misma red.

Por ejemplo: si está utilizando Ganache (anteriormente test-rpc), asegúrese de que Metamask apunte a la red correcta para ver los fondos:

ingrese la descripción de la imagen aquí

Puede usar la consola truffle para enviar fondos desde sus direcciones (desbloqueadas) a cualquier otra dirección en la misma red.

web3.eth.sendTransaction({
 from:web3.eth.coinbase,
 to: '0xaEC98826319EF42aAB9530A23306d5a9b113E23D',
 value: web3.toWei(10, "ether")
})
También puede importar su cuenta de Ganache a Metamask alAccount-->import-->Private Key

Dependiendo de la red de prueba en la que esté trabajando, puede obtener éter de los grifos de la red de prueba. Este es un grifo Rinkeby que funciona, que he usado en el pasado: https://www.rinkeby.io/#faucet y un grifo Ropsten que funciona: http://faucet.ropsten.be:3001/

También podría considerar restablecer el estado de MetaMask:

  • Asegúrese de tener una copia de seguridad de su frase inicial.
  • Bloquear MetaMask (en el menú superior derecho)
  • Haga clic en "Olvidé mi contraseña (importar)"
  • Introduzca su frase inicial.
  • Debería poder enviar transacciones nuevamente.

Estos pasos se toman directamente desde https://github.com/MetaMask/faq/blob/master/USERS.md

Este también es un grifo MetaMask simple y útil para Ropsten.

Para fines de prueba, estoy usando ganache-cliy obtengo eth en mi billetera con el siguiente código. Lo es web3.py, pero es fácil de transponer a web3.js.

def add_ether(address, amount):
    ''' Add ether to a wallet. This is only for testing purpose. Of course, this does not work on mainnet.

    >>> a = w3.eth.account.create('test')
    >>> add_ether(a.address, 10)
    >>> w3.eth.getBalance(a.address)
    10'''

    sender = w3.eth.coinbase
    if amount > w3.eth.getBalance(sender):
        raise ValueError("The sender does not have enough coins.")
    w3.eth.sendTransaction({'from': sender,
                              'to': address,
                              'value': amount})