Go-Ethereum

使用 testrpc 和 truffle 手動執行事務

  • July 13, 2017

我開始在 geth 控制台中做一些工作:

geth --dev console 

但已轉向使用松露進行開發。

要在 geth 控制台中調試,我習慣於執行以下操作:

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

然後手動呼叫miner.start().

有沒有辦法使用 testrprc 做到這一點?

而不是$geth --dev console你可以這樣做:

在終端上鍵入 $testrpc以啟動 testrpc 。

然後按照此處所述部署您的合約並打開 truffle 控制台。truffle控制台可以訪問web3 api,因此您實際上可以執行與 geth 控制台相同的操作。

對於上面段落中的步驟,簡而言之,您打開另一個終端並執行$truffle deploy然後$truffle console。當控制台打開時,您可以eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(1, "ether")});像往常一樣鍵入。

在 testrpc 中:

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 ] }

引用自:https://ethereum.stackexchange.com/questions/6522