Personal API

class web3.personal.Personal

The web3.personal object exposes methods to interact with the RPC APIs under the personal_ namespace.

Properties

The following properties are available on the web3.personal namespace.

web3.personal.listAccounts
  • Delegates to personal_listAccounts RPC Method

Returns the list of known accounts.

>>> web3.personal.listAccounts
['0xd3cda913deb6f67967b99d67acdfa1712c293601']

Methods

The following methods are available on the web3.personal namespace.

web3.personal.importRawKey(self, private_key, passphrase)
  • Delegates to personal_importRawKey RPC Method

Adds the given private_key to the node’s keychain, encrypted with the given passphrase. Returns the address of the imported account.

>>> web3.personal.importRawKey(some_private_key, 'the-passphrase')
'0xd3cda913deb6f67967b99d67acdfa1712c293601'
web3.personal.newAccount(self, password)
  • Delegates to personal_newAccount RPC Method

Generates a new account in the node’s keychain encrypted with the given passphrase. Returns the address of the created account.

>>> web3.personal.newAccount('the-passphrase')
'0xd3cda913deb6f67967b99d67acdfa1712c293601'
web3.personal.lockAccount(self, account)
  • Delegates to personal_lockAccount RPC Method

Locks the given account.

>>> web3.personal.lockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601')
web3.personal.unlockAccount(self, account, passphrase, duration=None)
  • Delegates to personal_unlockAccount RPC Method

Unlocks the given account for duration seconds. If duration is None then the account will remain unlocked indefinitely. Returns boolean as to whether the account was successfully unlocked.

>>> web3.personal.unlockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601', 'wrong-passphrase')
False
>>> web3.personal.unlockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601', 'the-passphrase')
True
web3.personal.sendTransaction(self, transaction, passphrase)
  • Delegates to personal_sendTransaction RPC Method

Sends the transaction.