Как я могу отправить эфир между двумя учетными записями в ремикс IDE? - PullRequest
0 голосов
/ 01 июня 2019

Я могу отправить эфир, только если внесу эфир при создании договора. Но в этом случае, даже если эфир находится в моем кошельке, я могу отправить столько же эфира, сколько и количества эфира в контракте. Например: У меня есть 100 эфириумов в моем аккаунте, и я использовал 10 эфиров при создании смарт-контракта, но мне нужно отправить 15 эфиров на другой аккаунт. Но я не могу отправить, потому что это больше, чем сумма эфирного контракта. Мне нужно отправить эфир на другой аккаунт из моего кошелька.

Среда - Remix IDE, версии контракта - Прагма солидность ^ 0,5,0;

    function payBack (address payable user) public payable returns(bool) {
        uint256 money =  balanceOf(user)*convertNumber/1e18;

        require (msg.sender.balance/1e18 > money, "not enough money" );
        user.send(money*1000000000000000000);
        return true;

    }

1 Ответ

0 голосов
/ 02 июня 2019

? Добро пожаловать в переполнение стека

Если вы используете https://remix.ethereum.org, вы можете увидеть «Среду» в верхнем правом углу IDE.

Согласно документам:

Существует три типа сред, к которым можно подключить Remix: Javascript VM, Injected, или Web3.(подробности см. в разделе «Выполнение транзакций»)

Этими тремя средами являются:

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

Поставщик Web3 выполнит ремикс-соединение с удаленным узлом.Вам нужно будет предоставить URL-адрес выбранному провайдеру: geth, parity или любому клиенту Ethereum.Вы можете использовать такой инструмент, как ganache-cli, который также локально имитирует блокчейн на вашем компьютере.

Поставщик Injected установит ремикс для подключения к поставщику Web3.Метамаска является примером поставщиков, которые внедряют web3, поэтому могут использоваться с этой опцией.

См. Документы для получения дополнительной информации о средах.

Я предполагаю, что вы используете среду JavaScriptVM , которая означает, что, к сожалению, у вас не будет доступа к web3 командным инструментам (для которых требуется Web3 Provider или Injection),Без web3 вы не можете перемещать средства между счетами, создавая транзакции.

Что вы можете сделать, это загрузить ganache-cli или вашего любимого провайдера web3, и манипулировать счетами из терминала с помощью команд web3.

Например:

   $ ganache-cli 

Available Accounts <ADDRESSES YOU CAN MOVE FUNDS BETWEEN>
==================
(0) 0x9f0bf61721a61e7f72abac48eed65e318668e71f (~100 ETH)
(1) 0x74bc67c48eefc359d296023acd4ac9158575ab56 (~100 ETH)
(2) 0xec548e4b5246795b81904bc67cedfe26b528b173 (~100 ETH)
(3) 0x06fe6ca72d985252729a2ba2a40147d4905a56c4 (~100 ETH)
(4) 0x262498200090fdaa7db8d430e681e39d6257d3ce (~100 ETH)
(5) 0x9736aa7dc69bee01166352c3e51023ee5ab57a08 (~100 ETH)
(6) 0x19ee475e3c64935546d9c4a67d01232c53d45c2b (~100 ETH)
(7) 0xee4dec500f7b08dfe20646a8a6661a81204eb1cb (~100 ETH)
(8) 0xf5b6a5ce718ad527eb877a0c8554e1d2382c9beb (~100 ETH)
(9) 0x590e03591cc82e9308d1e8e8869c248e13356920 (~100 ETH)

<Secret private keys not shown >

HD Wallet
==================
<Mnemonics not shown >

Base HD Path:  m/44'/60'/0'/0/{account_index}

Gas Price
==================
20000000000

Gas Limit
==================
6721975

Listening on 127.0.0.1:8545
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...