mirror of
https://github.com/FlipsideCrypto/web3.py.git
synced 2026-02-06 10:56:47 +00:00
personal API documented
This commit is contained in:
parent
5c69bbc333
commit
dd7b3c78e4
@ -15,7 +15,7 @@ Contents
|
||||
quickstart
|
||||
overview
|
||||
conventions
|
||||
web3
|
||||
web3.main
|
||||
web3.eth
|
||||
web3.db
|
||||
web3.shh
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
DB API
|
||||
======
|
||||
|
||||
.. py:class:: DB
|
||||
|
||||
The ``web3.db`` object exposes methods to interact with the RPC APIs under the
|
||||
``db_`` namespace.
|
||||
@ -1,6 +1,9 @@
|
||||
Eth API
|
||||
=======
|
||||
|
||||
.. py:module:: web3.eth
|
||||
.. py:currentmodule:: web3.eth
|
||||
|
||||
.. py:class:: Eth
|
||||
|
||||
The ``web3.eth`` object exposes the following properties and methods to
|
||||
@ -10,7 +13,7 @@ interact with the RPC APIs under the ``eth_`` namespace.
|
||||
Properties
|
||||
----------
|
||||
|
||||
The following properties are available on the ``web3.eth`` object.
|
||||
The following properties are available on the ``web3.eth`` namespace.
|
||||
|
||||
|
||||
.. py:attribute:: Eth.defaultAccount
|
||||
@ -119,7 +122,7 @@ The following properties are available on the ``web3.eth`` object.
|
||||
Methods
|
||||
-------
|
||||
|
||||
The following methods are available on the ``web3.eth`` object.
|
||||
The following methods are available on the ``web3.eth`` namespace.
|
||||
|
||||
|
||||
.. py:method:: Eth.getBalance(account, block_identifier=eth.defaultBlock)
|
||||
@ -225,7 +228,7 @@ The following methods are available on the ``web3.eth`` object.
|
||||
|
||||
.. py:method:: Eth.getUncle(block_identifier)
|
||||
|
||||
.. attention:: Not Implemented
|
||||
.. note:: Not Implemented
|
||||
|
||||
|
||||
.. py:method:: Eth.getTransaction(transaction_hash)
|
||||
|
||||
@ -124,10 +124,6 @@ Each ``web3`` instance also exposes these namespaced APIs.
|
||||
|
||||
See :doc:`./web3.eth`
|
||||
|
||||
.. py:attribute:: Web3.db
|
||||
|
||||
See :doc:`./web3.db`
|
||||
|
||||
.. py:attribute:: Web3.shh
|
||||
|
||||
See :doc:`./web3.shh`
|
||||
|
||||
@ -1,7 +1,101 @@
|
||||
Personal API
|
||||
============
|
||||
|
||||
.. py:class:: DB
|
||||
.. 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
|
||||
|
||||
@ -1,7 +1,38 @@
|
||||
SHH API
|
||||
=======
|
||||
|
||||
.. py:class:: DB
|
||||
.. py:module:: web3.shh
|
||||
.. py:class:: Shh
|
||||
|
||||
The ``web3.shh`` object exposes methods to interact with the RPC APIs under the
|
||||
``shh_`` namespace.
|
||||
|
||||
Methods
|
||||
-------
|
||||
|
||||
The following methods are available on the ``web3.personal`` namespace.
|
||||
|
||||
|
||||
.. py:method:: Shh.post(self, *args, **kwargs)
|
||||
|
||||
.. note:: Not Implemented
|
||||
|
||||
|
||||
.. py:method:: Shh.newIdentity(self, *args, **kwargs)
|
||||
|
||||
.. note:: Not Implemented
|
||||
|
||||
|
||||
.. py:method:: Shh.hasIdentity(self, *args, **kwargs)
|
||||
|
||||
.. note:: Not Implemented
|
||||
|
||||
|
||||
.. py:method:: Shh.newGroup(self, *args, **kwargs)
|
||||
|
||||
.. note:: Not Implemented
|
||||
|
||||
|
||||
.. py:method:: Shh.addToGroup(self, *args, **kwargs)
|
||||
|
||||
.. note:: Not Implemented
|
||||
|
||||
@ -49,11 +49,11 @@ class Personal(object):
|
||||
def getListAccounts(self, *args, **kwargs):
|
||||
raise NotImplementedError("Async calling has not been implemented")
|
||||
|
||||
def signAndSendTransaction(self, tx, passphrase):
|
||||
def signAndSendTransaction(self, transaction, passphrase):
|
||||
return self.request_manager.request_blocking(
|
||||
# "personal_sendTransaction",
|
||||
"personal_signAndSendTransaction",
|
||||
[tx, passphrase],
|
||||
[transaction, passphrase],
|
||||
)
|
||||
|
||||
def lockAccount(self, account):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user