Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add account troubleshooting docs #1855

Merged
merged 1 commit into from
Jan 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions docs/troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,28 @@ Here are some links to testnet ether instructions (in no particular order):
- `Kovan <https://github.com/kovan-testnet/faucet>`_
- `Rinkeby <https://www.rinkeby.io/#faucet>`_
- `Ropsten <https://www.reddit.com/r/ethdev/comments/72ltwj/the_new_if_you_need_some_ropsten_testnet_ethers/>`_


.. _account_troubleshooting:

Why can't I create an account?
------------------------------

If you're seeing the error ``The method personal_newAccount does not exist/is not available``,
you may be trying to create an account while connected to a remote node provider, like Infura.
As a matter of security, remote nodes cannot create accounts.

If you are in fact running a local node, make sure that it's properly configured to accept ``personal``
methods. For Geth, that looks something like: ``--http.api personal,eth,<etc>`` or ``--ws.api personal,eth,<etc>``
depending on your configuration. Note that the IPC configuration is most secure and includes the ``personal``
API by default.

In general, your options for accounts are:

- Run a node (e.g., Geth) locally, connect to it via the local port, then use the ``personal`` API.
- Import a keystore file for an account and :ref:`extract the private key<extract_geth_pk>`.
- Create an account via the :ref:`eth-account <eth-account>` API, e.g., ``new_acct = w3.eth.account.create()``.
- Use an external service (e.g., MyCrypto) to generate a new account, then securely import its private key.

.. Warning:: Don't store real value in an account until you are familiar with security best practices.
If you lose your private key, you lose your account!
2 changes: 2 additions & 0 deletions docs/web3.eth.account.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ Using private keys usually involves ``w3.eth.account`` in one way or another. Re
or see a full list of things you can do in the docs for
:class:`eth_account.Account <eth_account.account.Account>`.

.. _extract_geth_pk:

Extract private key from geth keyfile
---------------------------------------------

Expand Down
1 change: 1 addition & 0 deletions newsfragments/1855.doc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add account creation troubleshooting docs.