2

我使用 ganache-cli 构建本地区块链并使用 truffle 部署合约。为了与已部署的合约交互,我使用 truffle 控制台。例如,我将代币从我的当前帐户(即web3.eth.personal.getAccounts()[0])转移到web3.eth.personal.getAccounts()[1]之后,我想将我的当前帐户更改为web3.eth.personal.getAccounts()[1]地址。

怎么做?

4

2 回答 2

2

更改的值web3.eth.defaultAccount对我不起作用。但是from在 truffle.js 中进行配置是有效的。

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*", 
      from: "0x12345678"
    }
  }
};
于 2021-10-23T19:22:59.783 回答
1

您可以将默认帐户设置为

web3.eth.defaultAccount = web3.eth.personal.getAccounts()[1];

或简单地作为地址

web3.eth.defaultAccount = '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe';

请注意,Ganache 默认情况下只有 10 个预定义帐户,它知道其私钥。所以你需要传递一个 Ganache 知道私钥的地址。如果您传递一个未知的帐户地址,web3(和 Ganache)将无法使用此(未知)地址提交交易。

于 2021-04-24T22:59:30.363 回答