Выполнение транзакций вручную с помощью testrpc и truffle

Я начал немного работать в консоли geth:

geth --dev console 

но перешли к разработке с использованием трюфеля.

Для отладки в консоли geth я обычно выполняю следующее:

eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(1, "ether")});

затем вызов вручную miner.start().

Есть ли способ сделать это с помощью testrprc?

Ответы (2)

Вместо $geth --dev consoleвы можете сделать:

Введите $testrpcв терминале, чтобы активировать testrpc .

Затем разверните свои контракты и откройте консоль трюфеля, как описано здесь . Консоль трюфеля имеет доступ к API web3 , поэтому вы можете делать практически то же самое, что и ваша консоль geth.

Короче говоря, для шагов, описанных в абзаце выше, вы открываете другой терминал и делаете, $truffle deployа затем $truffle console. Когда консоль откроется, вы можете печатать eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(1, "ether")});как обычно.

Поскольку testrpc предназначен для тестирования ваших контрактов и имитации среды эфириума. Очевидно, что вы можете совершить транзакцию, но майнинг не будет происходить сразу же, вы вычтете и получите эфиры. Как упоминал @EugVal, вы можете проверить это в консоли трюфеля.

В тестрпк:

truffle(development)> web3.eth.getBalance(web3.eth.accounts[0])
                { [String: '98599991999999979000'] s: 1, e: 19, c: [ 985999, 91999999979000 ] }

truffle(development)> web3.eth.getBalance(web3.eth.accounts[1])
                { [String: '101000000000000000000'] s: 1, e: 20, c: [ 1010000 ] }

truffle(development)> web3.eth.sendTransaction({from: web3.eth.accounts[0], to: web3.eth.accounts[1], value: web3.toWei(1, "ether")});
                '0x3b9
        115191839b371200e107600c27e98ef64b2b823e7b4e02556262db06ee609'

truffle(development)> web3.eth.getBalance(web3.eth.accounts[0])
                { [String: '97599991999999958000'] s: 1, e: 19, c: [ 975999, 91999999958000 ] }

truffle(development)> web3.eth.getBalance(web3.eth.accounts[1])
                { [String: '102000000000000000000'] s: 1, e: 20, c: [ 1020000 ] }