When it comes to developing for the blockchain, and especially for Ethereum, anyone who knows much about the core infrastructure of Ethereum knows that the flagship client,
Backend development, blockchain style.
When people say "back-end dev" these days, I often think of a NodeJS
The EthereumJS monorepo is a suite of libraries that implement various blockchain primitives used in core blockchain development. These primitives are:
Transactions - how we update state on chain. Whenever you want to update the state of an account or a smart contract on Ethereum, you have create a transaction that describes your state change and submit it to the blockchain. The
txlibrary contains all of the low level operations needed to construct a transaction and package it up in the serialization format necessary to broadcast it to the chain.
Blocks - how we define the units of history of the chain. A block is simply a collection of transactions in sequential order that conform to the basic rules defined in the Ethereum yellow paper with some metadata that proves it's valid. The
blocklibrary puts all this together for you in one place.
Blockchain - the history of the chain. In its most simplistic form, the blockchain is just the collection of blocks in order as defined by some consensus mechanism that makes up the history of the chain. The
blockchainlibrary implements all of this, leveraging the
txlibraries to construct the individual units of state change and history that make up the Ethereum chain.
Ethereum Virtual Machine (EVM), this is the "secret sauce" of Ethereum (though truth be told it's not very secret). The EVM is what separates Ethereum from Bitcoin and allows for all of the plethora of things most blockchain aficionados are familiar with, defi, NFTs, DAOs, etc. Think of the EVM as a simple machine that runs whatever instructions you send it (not unlike a calculator or a computer), and the transactions you submit contain the instructions necessary for the EVM to operate. The
statemanagerlibraries collectively make up a complete implementation of the Ethereum Virtual Machine and its operating environment.
The full node - the client that runs the Ethereum blockchain. Built on all of the above libraries, the
- Loading comments...