我使用 ganache-cli 构建本地区块链并使用 truffle 部署合约。为了与已部署的合约交互,我使用 truffle 控制台。例如,我将代币从我的当前帐户(即web3.eth.personal.getAccounts()[0]
)转移到web3.eth.personal.getAccounts()[1]
之后,我想将我的当前帐户更改为web3.eth.personal.getAccounts()[1]
地址。
怎么做?
我使用 ganache-cli 构建本地区块链并使用 truffle 部署合约。为了与已部署的合约交互,我使用 truffle 控制台。例如,我将代币从我的当前帐户(即web3.eth.personal.getAccounts()[0]
)转移到web3.eth.personal.getAccounts()[1]
之后,我想将我的当前帐户更改为web3.eth.personal.getAccounts()[1]
地址。
怎么做?
更改的值web3.eth.defaultAccount
对我不起作用。但是from
在 truffle.js 中进行配置是有效的。
module.exports = {
networks: {
development: {
host: "127.0.0.1",
port: 7545,
network_id: "*",
from: "0x12345678"
}
}
};
您可以将默认帐户设置为
web3.eth.defaultAccount = web3.eth.personal.getAccounts()[1];
或简单地作为地址
web3.eth.defaultAccount = '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe';
请注意,Ganache 默认情况下只有 10 个预定义帐户,它知道其私钥。所以你需要传递一个 Ganache 知道私钥的地址。如果您传递一个未知的帐户地址,web3(和 Ganache)将无法使用此(未知)地址提交交易。