Create/load/get address of/send transaction from/create accounts under the ETH wallet? (Clarification on wallets and accounts in the ETH node)

accountsethereum-wallet-dappgo-ethereumpythonweb3.py

I'm totally new to the concept, but "how can I create/load/get address of/send transaction from/create accounts under my ETH wallet" in Ethereum node?

I'm implementing Ethereum node on my own server and connected it to my website (with Python 3, FastAPI). I am using Geth/web3.py/RPC over http, doing that. I know that one can create new addresses (0x-prefixed) using personal_newAccount(password)/personal.newAccount(password) command (I'm aware of the security risks of these commands). Are these produced addresses, individual wallets? or just my main wallet's accounts? If they are not individual wallets' addresses, what is personal.listwallets command for? What is the difference between this command and eth.accounts? What are web3.js's wallet-related commands (which I did not find them, in web3.py and the Geth's console) i.e., in BTC, DOGE, etc., we have our wallets and we can create accounts under our wallets (there, one can load the wallet, get balance of the wallet and the transactions are made from wallet's address to the receiver's address or the deposited funds are going into the wallet's balance). But so far, I just created personal_newAccount(password) for users and made transactions with eth_sendTransaction from one address to another. Is it possible to send funds from my main wallet (not from an account) to an address? If yes, how can I have my wallet's address to put it to the 'from' attribute of my sendTransaction?

I really appreciate any clarification on the wallets/accounts subject in the ETH network.

P.S., I totally have no idea about smart-contracts on the ETH network and how they are related to my question. If anyone wants to point out to this subject regarding replying my question, I really appreciate it if introduces a step-by-step implementation and 101 introduction to them.

Best Answer

This is for those who might want to be clarified on the wallet/account concepts on Ethereum, thanks to @mikko-ohtamaa.

Wallets have nothing to do with the structure being used in blockchains to track down the balances or handle transactions. It is just a file containing accounts' info(public/private keys) and web3.eth.accounts.wallet-based commands mentioned here are just to handle that.

Furthermore, Ethereum does not use the UTXO model, like the one in Bitcoin. This is a start point article about that. It uses an account-based model.

So, having a Bitcoin-like structure to handle transaction flow for centralized exchange structures is impossible to me. Instead, some may use the smart contracts to manage that. You can explore this approach for a beginning step towards that. If you are going go further, see this and this.

I am looking forward any innovative ideas/comments on the subject.

Related Topic