mirror of
https://github.com/FlipsideCrypto/web3.py.git
synced 2026-02-06 10:56:47 +00:00
102 lines
2.9 KiB
ReStructuredText
102 lines
2.9 KiB
ReStructuredText
Personal API
|
|
============
|
|
|
|
.. py:module:: web3.personal
|
|
|
|
.. py:class:: 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.
|
|
|
|
.. py:attribute:: listAccounts
|
|
|
|
* Delegates to ``personal_listAccounts`` RPC Method
|
|
|
|
Returns the list of known accounts.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.listAccounts
|
|
['0xd3cda913deb6f67967b99d67acdfa1712c293601']
|
|
|
|
|
|
Methods
|
|
-------
|
|
|
|
The following methods are available on the ``web3.personal`` namespace.
|
|
|
|
.. py:method:: 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.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.importRawKey(some_private_key, 'the-passphrase')
|
|
['0xd3cda913deb6f67967b99d67acdfa1712c293601']
|
|
|
|
|
|
.. py:method:: newAccount(self, password=None)
|
|
|
|
* 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.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.newAccount('the-passphrase')
|
|
['0xd3cda913deb6f67967b99d67acdfa1712c293601']
|
|
|
|
|
|
.. py:method:: signAndSendTransaction(self, tx, passphrase)
|
|
|
|
* Delegates to ``personal_signAndSendTransaction`` RPC Method
|
|
|
|
Signs and sends the given ``transaction`` without requiring the ``from``
|
|
account to be unlocked. ``passphrase`` must be the passphrase for the
|
|
``from`` account for the provided ``transaction``.
|
|
|
|
Behaves in the same manner as
|
|
:py:method::`web3.eth.Eth.sendTransaction(transaction)`.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.signAndSendTransaction({'to': '0xd3cda913deb6f67967b99d67acdfa1712c293601', 'from': web3.eth.coinbase, 'value': 12345}, 'the-passphrase')
|
|
'0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331'
|
|
|
|
|
|
.. py:method:: lockAccount(self, account)
|
|
|
|
* Delegates to ``personal_lockAccount`` RPC Method
|
|
|
|
Locks the given ``account``.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.lockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601')
|
|
|
|
|
|
.. py:method:: 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.
|
|
|
|
.. code-block:: python
|
|
|
|
>>> web3.personal.unlockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601', 'wrong-passphrase')
|
|
False
|
|
>>> web3.personal.unlockAccount('0xd3cda913deb6f67967b99d67acdfa1712c293601', 'the-passphrase')
|
|
True
|