Note
For a comprehensive coverage of blockchain development in Ethereum or mastering Solidity programming, taking our below self paced courses is highly recommended:
- Blockchain Solidity Course for Beginners
- Ethereum Developer Course
- Blockchain Security Course for Beginners
Recap
In our previous article (How to Run Geth on a Local Private Ethereum Blockchain with Mining), we discussed how to run Geth on a local private Ethereum network that includes mining component.
In this article, we learn how to create an account on a local private Ethereum network.
Creating a new account
To start mining, we will need to create an ether account on the private blockchain. Let’s get started:
1. Let’s start a new terminal session with an open and running network connection. The attach sub-command will start a JSRE REPL console for interactive use. The REPL console can also be started by a sub-command console. The difference between the two is that attach starts the console without starting the geth nodes:
$ geth attach hello_world_mining/data/geth.ipc Welcome to the Geth JavaScript console! instance: Geth/v1.8.22-stable/darwin-amd64/go1.11.5
modules: admin:1.0 debug:1.0 eth:1.0 ethash:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
If you check your account now, it will be an empty list:
eth.accounts[]
2. Now, let’s get started and create our very first account in the interactive console. When you create a new account, geth asks for a passphrase:
personal.newAccount()Passphrase:
One-to-One Live Blockchain Classes
Coding Bootcamps school offers One-to-One Live Blockchain Classes for Beginners.
Make sure you type in a very strong password, and write it down somewhere and keep a few copies. You know the drill. After repeating the passphrase, you will see your new account:
Repeat passphrase: "0xde2d56b4abc0bf860d25781ca4a87772dec8f8a8"
3. You can check your account now; it will include the one we just created, as follows:
eth.accounts ["0xde2d56b4abc0bf860d25781ca4a87772dec8f8a8"]
4. Let’s check the balance of our new account; a 0 balance is expected for now:
web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 0
New accounts can also be created non-interactively without opening the geth console. The –password flag can be used in this case if you have created a password file in plaintext format, as follows:
$ geth account new $ geth account new --password <password file>
We have provided two ways of creating a new account:
- Creating the new account interactively with the console
- Using the geth account new command directly
At this point, we have a new account handy. We are going to mine on our local private network in the next section.
Mining on a local private network
Mining on the local private blockchain can be started with the following command; we will be using –etherbase to credit all rewards to the account we just created:
$ geth --datadir data --mine --miner.threads=1 --miner.etherbase =0xde2d56b4abc0bf860d25781ca4a87772dec8f8a8
Once started, it will keep running and writing out the logs, as follows:
INFO Successfully sealed new block number=1520 sealhash=7c9374...e035e4 hash=25a8c4...d0ae06 elapsed=5.228s INFO block reached canonical chain number=1513 hash=7ca5de...5cab58 INFO mined potential block number=1520 hash=25a8c4...d0ae06 INFO Commit new mining work number=1521 sealhash=8ce312...0bec54 uncles=0 txs=0 gas=0 fees=0 elapsed=173.13µs
It will earn you ethers when new blocks are added to the blockchain. It’s very realistic to become a billionaire if you keep mining:
web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 40 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 7175 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 8360 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether") 9010
It must feel good to see the number keep increasing. But to stop the miner, you can use the console miner.stop() command.
Next Article
In our next article (How to Use Ethereum Optional Flags with New Chains), we discuss what Ethereum Optional Flags are and how to use them.
This article is written in collaboration with Brian Wu who is a leading author of “Learn Ethereum: Build your own decentralized applications with Ethereum and smart contracts” book. He has written 7 books on blockchain development.
Resources
coming soon