TestRPC/Truffle - wie wechselt man das Konto?

Ich habe einen Vertrag mit Truffle abgeschlossen. Ich kann meinen Vertrag als Benutzer verwenden: web3.eth.accounts[0]. Was ist, wenn ich dieses bereitgestellte Vertragsobjekt als ein anderer Benutzer verwenden möchte, sagen wir: web3.eth.accounts[1]?

Ich habe den privaten Schlüssel für all diese Konten, da TestRPC sie Ihnen beim Start gibt. Aber der web3.personal.unlockAccount funktioniert bei mir nicht. Auch diese Funktion scheint ein PASSWORT zu erfordern. Ich habe einen privaten Schlüssel, was hat das mit einem Passwort zu tun?

truffle(development)> web3.personal.unlockAccount(web3.eth.accounts[1])
Error: Error: RPC method personal_unlockAccount not supported.
    at GethApiDouble.handleRequest (/usr/local/lib/node_modules/ethereumjs-testrpc/lib/subproviders/geth_api_double.js:49:16)
    at next (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)
    at SolcSubprovider.handleRequest (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/subproviders/solc.js:28:7)
    at next (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)
    at VmSubprovider.handleRequest (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/subproviders/vm.js:40:12)
    at next (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)
    at GethDefaults.handleRequest (/usr/local/lib/node_modules/ethereumjs-testrpc/lib/subproviders/gethdefaults.js:17:12)
    at next (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)
    at FilterSubprovider.handleRequest (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/subproviders/filters.js:87:7)
    at next (/usr/local/lib/node_modules/ethereumjs-testrpc/node_modules/web3-provider-engine/index.js:95:18)
    at Object.InvalidResponse (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/errors.js:35:16)
    at RequestManager.send (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/requestmanager.js:61:22)
    at Personal.send [as unlockAccount] (/usr/local/lib/node_modules/truffle/node_modules/web3/lib/web3/method.js:145:58)
    at evalmachine.<anonymous>:1:15
    at ContextifyScript.Script.runInContext (vm.js:53:29)
    at Object.runInContext (vm.js:108:6)
    at TruffleInterpreter.interpret (/usr/local/lib/node_modules/truffle/lib/repl.js:136:17)
    at bound (domain.js:301:14)
    at REPLServer.runBound [as eval] (domain.js:314:12)
    at REPLServer.onLine (repl.js:433:10)

Antworten (1)

Verwenden Sie diesen Befehl $ testrpc --secure -u 0 -u 1

Danke schön. Können Sie bitte erklären, was das bewirkt? Ich bekomme immer noch diesen Fehler: truffle(development)> web3.personal.unlockAccount(web3.eth.accounts[1]) Error: Error: RPC method personal_unlockAccount not supported.
siehe dieses Dokument github.com/ethereumjs/testrpc