Learn BlockChain Development with me #2: Ethereum Node and Install Development tools
In this post, I am going to walk through the concept of nodes in Ethereum and tools to install for development blockchain with Ethereum.
Blockchain Node
Ethereum Blockchain nodes implements the Ethereum Protocol which give access to the blockchain.
In this tutorial, I am using Geth
and Ethereumjs-TestRPC
to setup the node.
Type of Nodes
Full Nodes
This is the full nodes implication of Ethereum blockchain, which means that that particular computer is connected to Ethereum Network which fully enforces all the consensus rules of Ethereum. [1]
- Very large files
- Resource intensive
For full node implementation, I will be using Geth.
Light Clients
Light Clients has access to full functionality in terms of getting high-security assurances about certain states of Ethereum and also the power to verify the execution of a transaction. [1]
For light clients, I will be using EthereumJS-TestRPC.
Geth
Geth
is a CLI interface for running a full ethereum node implemented in Golang.[2]
Install Geth
Geth offers these features:- [2]
- mine real ether
- transfer funds between addresses
- create contracts and send transactions
- explore block history
Starting Geth
Simply just geth
in the command, and geth is started.
Geth will run a Process on the background, it runs on UDP port 30303.
Only one blockchian node should be running at one time.
Geth console
To start a "REPL" style in Geth
use
geth console
, to exit the console, just send exit
Ethereumjs-TestRPC
For development, full node are seldom being used. Instead, simulation of ethereum protocol is used because it is fast.
The NPM library that I am using is called Ethereumjs-TestRPC.
This require you to have Node.js and NPM setup. I made a guide about installation of NPM here.
Once NPM is installed, you can simply install this NPM library globally.
npm install -g ethereumjs-testrpc
Reference
- https://blockgeeks.com/guides/what-are-ethereum-nodes-and-sharding/
- https://github.com/ethereum/go-ethereum/wiki/geth
My man, very interesting but what will you be using the node for? Can you give me some examples. I am very interested in the possibilities.
Hey @xervantes, I am currently learning some blockchain, the nodes for my case, I am learning on making smart contracts. So, I can try out the mining simulation with EthereumRPC. Something happen with Ethereum development is that a lot of testing need to be done before making it into production because once smart contract is deploy, it is harder to amend about it.
Very cool, indeed. I am looking forward to your progress...followed.
Very awesome tutorial, following for more!
No idea what's going on, but I just find it inspiring to read your updates on coding projects. Are you following a specific course on to develop apps to the ethereum blockchain? Looking forward to seeing what you end up building!