Я использовал Web3.py и TestRPCProvider Web3 для создания некоторых служебных функций на Python для развертывания смарт-контракта, предназначенного для создания токена ERC20, а затем связывался с этим смарт-контрактом для перевода средств. Теперь я хотел бы попробовать это в тестовой сети Infura Ropsten. Я создал кошелек в сети с помощью MyEtherWallet и использовал web3 с закрытыми/открытыми ключами кошелька для создания и подписания транзакции, необходимой для развертывания контракта ERC20, однако я получаю эту ошибку.
ValueError: {'code': -32000, 'message': 'insufficient funds for gas * price + value'}
Мой вопрос заключается в следующем: поскольку это тестовая сеть, есть ли способ сгенерировать тестовый эфир Ropsten в моем новом кошельке с помощью Web3.py или MyEtherWallet? Мне кажется немного более бессмысленным использовать тестовую сеть, если вам все равно нужно пополнить свой счет реальными деньгами.
Код "Как метод класса"
def deploy(self):
instance = self.w3.eth.contract(abi=self.abi, bytecode=self.bin)
construct_txn = instance.constructor().buildTransaction({
'from': self.pub,
'value': 0,
'gas': 100000,
'gasPrice': w3.eth.gasPrice,
'nonce': self.w3.eth.getTransactionCount(self.pub),
})
signed = self.acct.signTransaction(construct_txn)
tx_hash = self.w3.eth.sendRawTransaction(signed.rawTransaction)
print(tx_hash.hex())
Вы можете попросить кого-нибудь перевести эфиры на ваш адрес или попробовать использовать сборщики вроде https://faucet.metamask.io/ https://faucet.ropsten.be/
ДэйвИдито