Как мне получить ETH в мой кошелек Metamask тестовой сети?

После переключения на тестовую сеть из раскрывающегося списка в Metamask используемый адрес по-прежнему является моим адресом в основной сети.

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

показывает 0xc27a6adac593d1c02355f307ea92f6261269566d, мой адрес в основной сети.

Я пытался отправить средства через консоль трюфеля:

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

Я не вижу изменения баланса в MetaMask.

Как пополнить тестовую метамаску?

Предполагая, что и MetaMask, и Truffle взаимодействуют с одной и той же тестовой сетью, я ожидаю, что то, что вы делаете, сработает. (Вы также можете просто импортировать закрытый ключ уже имеющейся у вас учетной записи в MetaMask.)

Ответы (4)

Во- первых, нет такого понятия, как «адрес основной сети» . Все адреса — это просто приватные ключи, которые математически преобразуются в адреса эфириума.

Это означает, что вы можете использовать одни и те же адреса в любой сети. Но Metamask просто покажет вам средства, которые есть на вашем адресе в текущей активной сети .

Чтобы увидеть свои находки, убедитесь, что Metamask указывает на ту же сеть.

Например: если вы используете Ganache (ранее test-rpc), убедитесь, что Metamask указывает на правильную сеть, чтобы увидеть найденные данные:

введите описание изображения здесь

Вы можете использовать консоль truffle для отправки средств с ваших (разблокированных) адресов на любой другой адрес в той же сети.

web3.eth.sendTransaction({
 from:web3.eth.coinbase,
 to: '0xaEC98826319EF42aAB9530A23306d5a9b113E23D',
 value: web3.toWei(10, "ether")
})
Вы также можете импортировать свою учетную запись Ganache в Metamask с помощьюAccount-->import-->Private Key

В зависимости от того, в какой тестовой сети вы работаете, вы можете получить эфир из кранов тестовой сети. Это рабочий кран Rinkeby, который я использовал в прошлом: https://www.rinkeby.io/#faucet и рабочий кран Ropsten: http://faucet.ropsten.be:3001/

Вы также можете рассмотреть возможность сброса состояния MetaMask:

  • Убедитесь, что у вас есть резервная копия исходной фразы.
  • Заблокировать MetaMask (в правом верхнем меню)
  • Нажмите «Забыли пароль (импорт)»
  • Введите исходную фразу.
  • Вы сможете снова отправлять транзакции.

Эти шаги взяты непосредственно из https://github.com/MetaMask/faq/blob/master/USERS.md.

Это также простой и полезный сборщик MetaMask для Ropsten.

В целях тестирования я использую ganache-cliи получаю eth в свой кошелек с помощью следующего кода. Это так, web3.pyно его легко транспонировать в 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})