I am building an application that would create a wallet for a user. One option is the web3.personal API in web3.py, which has a newAccount('passphrase') method. The method only returns the address of created account.
What I'm looking for is a function similar to the eth.accounts API in web3.js, which has a create([entropy]) method. It returns an account object with 'address', 'privatekey' and other details.
Edit: I removed the deprecated
pyethereumsolution, replaced with the bettereth-accountone.Setup
At shell:
pip install eth_accountGenerating Account
The
eth-accountlibrary will help you create a private key with an attached address:Adding some of your own randomness above helps address potential limitations of
os.urandom, which depends on your version of Python, and your operating system. Obviously use a different string of randomness than the'KEYSMASH...'one from above.For more information about using the private key, see this doc with common examples, like signing a transaction.
As a side-note, you may find more support at ethereum.stackexchange.com