
Run a full Ethereum node for tx pool monitoring, decode transactions with JavaScript and ethers.js, and gain unlimited queries to analyze blockchain data for custom trading logic.
Run a full Ethereum node to continuously monitor mempool and pending transactions, decode transactions with the ethers library, and test arbitrage opportunities and simulated forked mainnet flash loans.
Understand the instructor's Q&A policy, leverage chat GPT for technical questions, and engage respectfully in the crypto Wizards Discord while pursuing Ethereum node topics.
Understand how to approach running a full Ethereum node, evaluate hardware needs, and plan a cost-aware setup while exploring MPV concepts and secure API options like Infura or Alchemy.
Explore how a blockchain enables a decentralized network where every participant runs the same program and agrees on a single version of the truth, mitigating bad actors.
Explore how blockchain uses hash functions like sha-256 to link blocks, creating a genesis block and subsequent blocks, so a distributed ledger rejects tampering by bad actors.
Explore the typical modules of a blockchain node and learn how to run the Go Ethereum client on Ubuntu, coordinating runtime, storage, networking, consensus, syncing, wallets, and transaction pools.
Understand proof of work as nodes compete to form blocks from the transaction pool by hashing to four zeros, while Ethereum moves toward proof of stake.
Explore proof of stake as an energy-efficient alternative to proof of work. Learn how staking 32 Ethereum incurs penalties for bad behavior, randomness in block proposals, and decentralization concerns.
Learn how the Ethereum merge integrates an execution layer with the beacon chain, switching from proof of work to proof of stake using Go Ethereum and Prism.
Identify hardware for a full Ethereum node—NVMe SSD, 32 GB RAM, eight-core CPU—and allocate two to three terabytes, using RAID 0 to cut costs while maintaining bandwidth and checkpoint sync.
Explore the true costs of running a full Ethereum node, weigh home hardware against cloud providers, and see why Ubuntu 22.04 on x86 and OVHcloud offer cost efficiency.
Compare running your own full node with third-party API providers to balance rate limits, costs, and speed for high-volume API requests.
Explore how to choose and configure a dedicated server for a full ethereum node, weighing price, commitments, regions, raid and nvme storage, and setup fees.
Learn how to set up a dedicated server, verify hardware specs, install an operating system, and establish SSH access with a key for secure remote management.
Learn how to create an SSH key and access a dedicated server via SSH, with cross-platform steps for Mac, Linux, and Windows, and copy the public key to the server.
Register your SSH key with your dedicated server provider by adding an SSH key in the SSH keys panel, paste your RSA key, and confirm, then name the key clearly.
Install Ubuntu server 22.04 on a dedicated server, customize partitions to raid zero, allocate maximum storage to root, and select your SSH key to complete the OS installation.
Reinstall your operating system on a hosted server to start afresh and allocate 15-30 minutes for everything to settle before resuming your full ethereum node setup.
Connect to the dedicated server via ssh using the ubuntu user and the public ip address, verify the host authenticity, and access the server with VS Code.
connect to your dedicated server using visual studio code via ssh, view the folder structure, open folders, and edit files remotely in a single window on ubuntu 22.04.
Follow a tried and tested cheat sheet walkthrough to set up a full node on Ethereum or Binance Smart Chain, using the Ubuntu 22.04-compatible readme resources.
Connect to your host, update apt, install required packages, add the ethereum repository, install ethereum and geth, then install go via snap and set up networking monitoring.
Configure a ufw firewall to expose an ethereum node by default denying incoming ports and selectively allowing 22, 3033, 13000, 12000, 8545, 8546, with nginx forwarding http/https.
Create a Prism beacon consensus client by setting up directories, downloading and running the Prism script, generating an auth secret to enable authentication with the beacon chain and execution client.
Start the prism beacon node by running the beacon script, authenticate with the json web token, and note the execution endpoint isn’t started yet.
Start the geth execution client with http access and websocket on port 8546 to monitor transaction pool, enable modules like personal, eth, net, web3, debug, and use JWT for auth.
Recognize that beacon and execution nodes may seem nonfunctional during syncing, with initial sync taking days. Learn to stop, inspect, and manage data directories to run both clients automatically.
Automate Geth service with systemd, enable at startup, start and monitor status, and view logs via journalctl to run an Ethereum node.
Master systemctl workflows to manage ethereum node services, including reloading daemons, enabling at startup, starting, stopping, and monitoring status with journalctl, while editing service files for custom tweaks.
Automate the prism beacon node on Ubuntu by creating and enabling a systemd prism.service, configuring checkpoint sync and genesis beacon API URL for faster startup, then monitor status and logs.
Observe the Ethereum node syncing process by monitoring beacon header download in Geth and the Prysm beacon client, track syncing with eth_syncing, and compare block progress with etherscan.io.
Monitor the Ethereum node syncing as the blockchain data downloads and the block height advances, using geth and keeping Prysm running while checking progress daily.
Confirm your ethereum node is fully syncing by attaching to geth, checking block 17813493, and noting a fast snapshot-based sync from prism for quick full-node interaction in future sessions.
Learn to use Geth attach commands to interrogate a full node, including eth.blockNumber, net.peerCount, and tx pool status. Inspect node details with admin.nodeInfo and view connected peers via admin.peers.
Understand why nginx as a reverse proxy exposes your full ethereum node remotely by forwarding json rpc requests from localhost to port 8545 and 8546.
Clarify your domain name and port when configuring nginx for an Ethereum node, using your own domain with port 8545 and referencing it for setup.
Install and configure nginx and certbot on ubuntu, obtain a free ssl certificate for your domain, and schedule automatic renewal with crontab using your email for renewal notices.
Enable ssl, use https, and protect access to your full node with a username and password set via nginx htpasswd.
Replace all instances of the default nginx server domain name in the default config file using the cheat sheet, omitting the port, and apply changes with command or ctrl-f.
Configure nginx to forward domain requests to localhost:8545, implement rate limiting, adjust include paths and default site, enable https on port 443, and verify the configuration with nginx -t.
Validate nginx configuration, restart and enable the service, then test remote access to your full node using a domain on port 8545 with authenticated requests.
Set up a modern JavaScript development environment with Node.js, npm, yarn, and TypeScript, then create a listener project and install ethers to listen to blockchain transactions.
Monitor real-time Ethereum activity by using ethers.js in JavaScript with json rpc and websocket providers to listen for pending transactions and extract their hashes.
Learn to monitor and analyze local ethereum transactions using ethers.js, extracting transaction data, first four bytes, and function selectors for Uniswap v3 interactions.
Explore how to monitor the Ethereum transaction pool with JavaScript, decode pending tx data, identify function selectors, gas details, and swap activity from contracts like Uniswap V3.
Decode transaction data with ethers.js to extract the function selector and ABI-encoded inputs, revealing token in, token out, fee, recipient, and deadline for swaps.
Decode big numbers into human readable values using ethers.js formatUnits for gas price and limit, and map token in/out and recipient from decoded data.
Learn to fetch a token's symbol and decimals from its ERC-20 contract using ethers.js, a provider, and contract calls based on Etherscan data.
Learn to monitor the mempool, decode swap transactions, and log precise outputs for token in and token out, including amount, decimals, symbol, and gas details.
Evaluate memory and storage usage of a fully operational Ethereum node, verify beacon chain synchronization, and monitor tx activity and performance metrics to optimize resources.
Wipe your Ethereum full node clean, customize the Ubuntu 22.04 partition configuration with raid zero, allocate 3.5 TB storage, and connect via SSH to ensure a fresh, synced blockchain node.
Perform a server reset and reconnect via ssh to a fresh Ethereum node environment, manage knownhosts, and use Visual Studio Code to access the host, confirming 3.3TB storage.
Move the known_hosts file to reestablish SSH access after a reboot. Connect via SSH or VS Code to configure a fresh full ethereum node and download the Binance BnB chain.
Running your own blockchain node has a number of key advantages including:
- Unlimited API requests to the blockchain
- Speed of information flow versus API provider alternatives
- Breadth of information flow on pending transactions
- Supporting the blockchain
- Financial decentralised trading and MEV (Maximal Extractable Value)
However, running your own full node can be a daunting task. If you don't have a Linux OS distribution at home with plenty of SSD, Ram and reliable Networking speeds, it can cost hundreds of dollars per month to rent just the hardware alone in getting your node up and running. In this course, we bypass all the headaches.
If you have the equipment and reliable broadband speeds at home already, running a full will cost you nothing. I personally do not, so I opted to rent the hardware purely for making this course.
Inside you will gain an understanding of:
1) What is a blockchain and what does it really mean to run an Ethereum node
2) What are the typical modules that make up a blockchain node
3) How are transactions validated and what are pending transactions
4) How to get a full node up and running within 2 days on Ethereum
5) What code allows you to quickly and easily decode transactions on the blockchain
The course at the time of making, does not cover how to run a Binance Smart Chain (or BNB Chain) full node. The reason for this is because it is simply too expensive to make it worth your while.
If you have basic programming experience and have been looking to run your own full node but are tired of the headaches that come with it, then this will be a great course for you.
See you in class!
Shaun