Testrpc

如何在testrpc中從預設帳戶切換

  • December 26, 2017

我在 testrpc 上使用松露。啟動 testrpc 時,它照常提供 9 個帳戶來使用。預設情況下,我使用帳戶 0 執行我的功能。現在我想將例如交易從帳戶 1 發送到 2。所以將我的預設值從 0 更改為 1,對嗎?

如何更改“執行”帳戶?

謝謝!

使用solidity ^0.4.4

EthereumJS TestRPC v3.0.5

Available Accounts
==================
(0) 0xc434136c76a349c32f1ba070c988d9b69b8aa6e9
(1) 0x025a7b62a0273bbb2b4504a7a1a0a9e05c23f4ed
(2) 0xc257ed20889a0301de39134f20eb705397bcfda8
...etc.

您需要配置 truffle.js 以讓帳戶使用 - 帳戶將在參數中提及

networks: {
  development: {
    host: "localhost",
    port: 8545,
    network_id: "*" // match any network
               },
    live: {
    host: "178.25.19.88", // Random IP for example purposes (do not use)
    port: 80,
    network_id: 1,        // Ethereum public network
   // optional config values:
   // gas
   // gasPrice
   // from - default address to use for any transaction Truffle makes 
                 during migrations
   // provider - web3 provider instance Truffle should use to talk to the 
                 Ethereum network.
   //          - if specified, host and port are ignored.
            }
        }

對於每個網路,如果未指定,交易選項將預設為以下值:

  • 氣體:用於部署的氣體限制。預設值為 4712388。
  • gasPrice:用於部署的 Gas 價格。預設值為 100000000000(100 香農)。
  • from:來自遷移期間使用的地址。預設為您的乙太坊客戶端提供的第一個可用帳戶。
  • 提供者:使用主機和埠選項的預設 web3 提供者:新 - Web3.providers.HttpProvider(“http://:”)

http://truffleframework.com/docs/advanced/configuration#networks

我不知道如何更改您的預設帳戶,但您可以通過向函式添加額外參數來聲明參數,例如發送到發送的位置和發送到發送位置的參數。例如,如果您有一個函式:

sendCoin(地址接收者)

您可以像這樣添加額外的對象參數:

sendCoin(address01, {from: address02});

這決定了發件人。

有關更多資訊,請參閱從Truffle 文件進行交易。

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