После переключения на тестовую сеть из раскрывающегося списка в 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 просто покажет вам средства, которые есть на вашем адресе в текущей активной сети .
Чтобы увидеть свои находки, убедитесь, что Metamask указывает на ту же сеть.
Например: если вы используете Ganache (ранее test-rpc), убедитесь, что Metamask указывает на правильную сеть, чтобы увидеть найденные данные:
Вы можете использовать консоль truffle для отправки средств с ваших (разблокированных) адресов на любой другой адрес в той же сети.
web3.eth.sendTransaction({
from:web3.eth.coinbase,
to: '0xaEC98826319EF42aAB9530A23306d5a9b113E23D',
value: web3.toWei(10, "ether")
})
Account-->import-->Private Key
В зависимости от того, в какой тестовой сети вы работаете, вы можете получить эфир из кранов тестовой сети. Это рабочий кран Rinkeby, который я использовал в прошлом: https://www.rinkeby.io/#faucet и рабочий кран Ropsten: http://faucet.ropsten.be:3001/
Вы также можете рассмотреть возможность сброса состояния 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})
пользователь19510