Ich habe einen Test, der eine Vertragsfunktion über verschiedene Konten ausübt. Wie schalte ich diese Accounts im Rahmen des Tests frei?
contract('MyContract', function (accounts) {
it("should perform differently for different accounts", function (done) {
var thisContract = MyContract.deployed();
thisContract.addAccounts([accounts[1], accounts[2]], {from: accounts[0]} ).then(
function (tx_id) {
/* this works because I manual unlock acc 0 on geth */
return thisContract.doSomething({from: accounts[0]});
}).then(
function (tx_id) {
/* is there something here I can do to unlock acc 1? */
return thisContract.doSomething({from: accounts[1]});
}).then(
function (tx_id) {
/* then here... */
return thisContract.doSomething({from: accounts[2]};
done();
}
).catch(done);
});
});
Sie können Konten nicht mit Ihrem Code entsperren. Es wäre ein Problem, wenn ein Code Ihre Konten entsperren kann.
Es scheint, als würden Sie Unit-Tests schreiben. Anstatt geth auszuführen, sollten Sie es vielleicht mit testrpc versuchen . Konten in testrpc müssen vor der Verwendung nicht entsperrt werden.
Elliot McNary
Unterbrechung