Sensei
  • Introduction
    • πŸ“•Features and Pricing
    • βœ…Sensei Setup
      • πŸͺ¨QuickNode Setup
      • πŸͺ„Alchemy Node Setup
      • πŸ›‘οΈbloXroute Setup
      • πŸ§™Alchemy API Setup
      • 🧱Blocknative API Setup
      • 🧲Etherscan Chrome Extension Setup
    • πŸ“šArchives
      • πŸ›Bug Submission Etiquette
      • πŸ˜‡Signature Mint Requests
      • πŸ–₯️Why Choose Webapp?
      • ☎️Mobile and Tablet Support
      • πŸͺ¨Private Nodes 101
  • ADVANCED MEV FEATURES
    • ⚑MEV Bundling
      • ✨ Introduction to Bundling
      • πŸ’‘ Core MEV Concepts
      • πŸ‘‘ Native Integration
      • πŸ“• How To Bundle
        • πŸ”Œ Relay Endpoints
        • 🧐 Troubleshooting
    • πŸ”Katana Contract Looper
      • ✨ Intro to Contract Looping
      • βš”οΈ Katana V3 Setup
      • βœ… Wallet Whitelisting
      • πŸ”± Deployment
      • πŸ“œTask Creation & Execution
      • πŸ’Έ Consolidate Proxy Tokens
      • πŸ“• Katana V1 - Archived
        • Deploy & Add Upgradeable Proxies
        • Katana Task Creation & Execution
        • Consolidate Proxy Tokens
          • Manual-Token Consolidation
          • Same-Tnx Auto-Consolidation
  • DEFI TRADING FEATURES
    • βœ…Sensei DeFi Setup
    • πŸ†“0% Trading Fee Extension
    • 🎯Sensei Auto-Sniper
    • πŸ“œSensei Swaps
    • πŸ”§Advanced Orders: Limit Order, Stop Loss, Take Profit
    • ⚑Advanced MEV Bundling
    • βš™οΈCustom MEV Execution
    • πŸ”Katana - "Max-Buy" Killer
    • ⚠️Auto-Avoidance
    • ⛑️Anti-Rug Protection
    • πŸ“±Alpha Stream
    • πŸ“ˆLive Trading Charts
    • πŸ—ƒοΈPortfolio Dashboard
    • βš™οΈDefi Settings
  • NFT Trading Features
    • 🌾Blur Farming Module
      • βœ…Funding Blur Pool
      • πŸ“œCreating Blur Tasks
      • ⚠️Emergency Withdrawal
    • πŸ‘οΈNFT Mint Bot [MEV]
      • Standard Task Setup
        • Mint Setup
        • Custom ABI
        • Execution Methods
      • Sigmint Task Setup
      • Fair.xyz Task Setup
        • Getting Started
        • Mint Setup
      • Gas Speedup
        • Manual & Intelligent Gas Speed-Up
        • [PRO] Precision Gas Targeting
        • [PRO] Backrun Auto Speed-Up
      • Quick Tasking & Mint Stream
    • 🏹NFT Deal Sniper [MEV]
      • Deal Sniper Task Setup
      • Execution Methods
      • Configs
      • Global Execution
      • MEV Sniping
    • 🐳NFT Bid Bot (OpenSea)
      • Collection Bidding
      • Token Bidding
    • πŸƒβ€β™‚οΈNFT Mempool Frontrunner
    • 🌊NFT Liquidator
      • Introduction and Setup
    • 🧩Wallet & Token Manager
      • Wallets
        • Wallet Creation
        • Wallet Import & Export
        • Wallet Customisation
        • Disperse & Consolidate
      • Marketplace Approval
      • NFT Manager
      • Multi-Wallet Listing
    • βš™οΈSettings
      • General
      • API Keys
      • Mint Bot
      • Katana
      • Nodes
      • Notifications
      • Wallet Manager
      • Deal Sniper
      • Bid Bot
Powered by GitBook
On this page
  • What are Nodes?
  • How do nodes relate to mining transactions?
  • Transaction Flows
  • Mempool Chaos
  • Commercial Node Providers
  • Private Node Providers
  • Comparison Tables:
  • Testing Methodology
  • Conclusion
  1. Introduction
  2. Archives

Private Nodes 101

In this article we will take a deep dive into private Ethereum nodes, how they work and why they give you a competitive advantage. Special thanks to moon1185#8426 and trippyfish#0805 for this pieceπŸ‘‡

PreviousMobile and Tablet SupportNextMEV Bundling

Last updated 1 year ago

What are Nodes?

Nodes are the gateway to the Ethereum network. On a cryptocurrency blockchain a node’s primary job is to confirm the legality of each block. Most nodes on the Ethereum network are JSON-RPC. JSON-RPC nodes are widely used in the crypto space as they are specifically provisioned to interact with the blockchain (they can read and write data), and are used alongside a wallet or dApp. So how exactly do they work?

After a transaction is sent to the blockchain, it will be submitted to a node. The node does a series of preflight checks to ensure the request is valid before it then enters a pending state. Miners are notified of these pending transactions and can include it when solving the next block. There are different types of nodes running on different software and hardware. Some examples include , and .

How do nodes relate to mining transactions?

Transactions are mined once the miner has verified its legitimacy and recorded it on the global ledger. To go through this process, nodes are crucial in determining how a miner will receive and verify a transaction. However, miners will not work with individual transactions, but rather a set of transactions referred to as a β€œblock”. The integrity of each individual transaction is maintained through an extensive verification process which results in blocks’ immutable nature. Before learning more about nodes, it is important to understand the flow of a transaction.

Transaction Flows

  1. When you sign a transaction on Metamask, the signed request is immediately sent to an RPC node. Metamask uses Infura by default but gives you the option to add custom RPC endpoints.

  2. The node receives the request and immediately does some preflight checks to ensure your request is valid.

  3. After the transaction is validated, your transaction is put into a pending pool–also known as the β€œlocal mempool”.

  4. The RPC node broadcasts its local mempool to other nodes spreading your pending transaction to the entire Ethereum network.

  5. At some point, a mining node will collate hundreds of transactions together into a potential block in a way that maximizes the fees collected while ensuring the block stays within the gas limit.

  6. The mining node validates the transactions on the potential block and proceeds to execute all the transactions and update its local copy of the blockchain. The mining node will also produce a β€œcertificate of legitimacy” proving the work done for solving the block.

  7. The mining node proceeds to broadcast the completed block along with the certificate for other RPC nodes (such as the one you used) to hear about it, validate it and update their individual copies of the blockchain.

Armed with some basic understanding of how transactions work, you can quickly see how complex the blockchain can be. Your RPC node can be a bottleneck and could severely impact your ability to interact with the blockchain. This is why using a node specifically designed for NFTs provides immense value when trading

Mempool Chaos

While the blockchain is immutable, the Ethereum mempool (i.e. an amalgamation of all pending transactions across all nodes) is not. Each node can only store so much information–this is due to computing, memory and storage limits. When a node gets overwhelmed it begins to prioritize competitive transactions over uncompetitive ones. This is where the mempool comes in. The database holding these pending transactions is an aggregate of each node's mempool. From the mempool, miners will then verify the most favorable transactions first (think higher priority fees, check out our article). This results in the inevitable cannibalization of transactions between node users. While this is unfavorable for the individual user, it’s also become the accepted norm. One common justification is–everyone’s in the same boat. But are they really?

Commercial Node Providers

Private Node Providers

Recently, there have been new node options available for investors on Ethereum. Private nodes sold in the form of β€œNFT utility”. With the known disadvantages that come with the above-mentioned options, a private node aims to solve them. No rate-limits and private or dedicated hardware tuned for performance over scale. But why is this important? It is all due to exclusivity, which is the last ingredient to making all of this perform well. At NFT Sensei we value this privatisation of β€œnode authentication via NFT ownership”. If you can estimate for a maximum number of users, you can plan for resource usage in an economical and efficient manner. Given the vast number of providers and the variations between their offerings, we decided to take an in-depth look into their technologies. This helped us better understand how these nodes have been set up, so we decided to outline some notable private node providers for you too:

A utility based NFT project with HyperNode being their highlight. JustCube’s HyperNode uses a server located in AWS Virginia. Apache 2.4.53 is used as a proxy to authenticate users and forward requests to a node. Using this approach there is always the chance you can receive a prolonged response time, as request are sent to one server and then redirected to another.

A utility based NFT project with GigaNode being the highlight. GigaNode currently uses a one node setup located in AWS Virginia. Running NginX proxy and apache utils to handle requests and authentication.

Zapnode currently uses a cname record to point their domain and subsequent subdomains to quicknode instances. This makes Zapnode a commercial node with shared infrastructure and without the possibility to authenticate request.This can be viewed in the below table with information on its IP address and DNS name.

Moonbears is a utility-based project with TrippyNode being the flagship. TrippyNode is a distributed, highly-available node. Carefully crafted with ample resource redundancy for each holder and configured to run behind an NginX proxy that is tuned for high-throughput.

TrippyNode is currently running a cluster of network load-balanced nodes in North Virginia, a single node in Germany and another in Singapore. These are all serviced using AWS Global Accelerator under the domain β€œmoonbears.trippynode.xyz”.

The node client itself is a modified implementation of GETH (Ethereum’s official node client), custom NFT authentication is directly baked into the node with holder snapshots taken on a periodic basis.

Comparison Tables:

Private Nodes
Trippy Nodes
Just Cubes Hyper Node
Zap Node
Yakuza Node

IP Address Information

13.248.129.111 / 76.223.8.38

18.209.117.104

155.248.195.25

35.172.181.78

DNS Information

nameless-small-water.quiknode.pro (Quicknode)

Location Information

High availability and distributed system

AWS Virginia

Oracle Public Cloud California

AWS Virginia

5 CNCR (S)

0.0843

0.1171

0.1652

0.2165

25 CNCR (S)

0.1085

0.1912

0.1002

0.857

50 CNCR (S)

0.1309

0.4294

0.1011

1.4354

100 CNCR (S)

0.1955

0.4816

0.1193

1.967

CNCR = Concurrent Requests

Node Time Comparisons
Trippy vs Justcubes Time Difference
Trippy vs ZapNodes Time Difference
Trippy vs Yakuza Time Difference

5 CNCR (S)

0.0328

0.0809

0.1322

25 CNCR (S)

0.857

-0.0083

0.7485

50 CNCR (S)

0.2985

-0.0298

1.3045

100 CNCR (S)

0.2861

-0.0762

1.7715

⚑️ SenseiNode ⚑️

After looking at these results, we knew which private node provider we wanted to partner with. So we are super excited with our partnership with TrippyNodes. We have worked together to create SenseiNode, which is a custom solution on top of TrippyNodes. This provides extremely fast performance as this node is truly private (among Sensei Holders), widely geographically distributed, and specifically made for multi-wallet botting and sniping.

One huge problem with NFT gated nodes is that they are incompatible with burner wallets. You cannot send transactions from wallets without the authorised NFT. SenseiNode overcomes this with a custom solution that lets you register burner wallets with the node. This is achieved via high performance caching and lookups to validate addresses. The result is a node that allows for safer and smarter botting - something never seen before in the NFT space.

Testing Methodology

To test the methodology and performance of different nodes for yourself, the following libraries can be used. Click on the drop-down handles to follow the coding instructions:

How To Run Tests

For each test we run a similar command where we only modify the json file with the array of wallets, concurrency, stop-after and node url.

5 request concurrency / 250 requests

$GOPATH/ethspam -f placeholder.json | versus β€”-timeout=5s β€”-stop-after=2500 β€”-concurrency=25 "http://anynodeurl.com"

25 request concurrency / 2500 requests

$GOPATH/ethspam -f placeholder.json | versus β€”-timeout=5s β€”-stop-after=2500 β€”-concurrency=25 "http://anynodeurl.com"

50 request concurrency / 5000 requests

$GOPATH/ethspam -f placeholder.json | versus β€”-timeout=5s β€”-stop-after=5000 β€”-concurrency=50 "http://anynodeurl.com"

100 request concurrency / 10000 requests

$GOPATH/ethspam -f placeholder.json | versus β€”-timeout=5s β€”-stop-after=7500 β€”-concurrency=50 "http://anynodeurl.com"

Conclusion

The node you use to purchase NFTs directly affects your transaction's performance, so being aware of your node is important when trading. When deciding what node to use, it is important to look at the team behind the private node. A team that can properly scale their infrastructure and can deliver on their roadmap will provide the most long term edge over other traders. When looking for a node a few things should be taken into consideration: Is the node infrastructure designed with high availability and redundancy? Will it have a good response time despite my physical location? And is the team behind the node capable and will they continue to improve? Asking the right questions

Currently there are 3 major node providers in the Ethereum space. We have , and . These services are built to handle scale and can support tens of thousands of users on their infrastructure. Moreover, proprietary technology is rife; each provider is constantly innovating to solve low-level computing problems whilst ensuring data correctness and real-time sync with the blockchain. Many offer free services, however, the advanced functionality and resources (which are needed to gain an edge) are gated behind a monthly fee. With these advanced subscriptions, the more you consume the more you end up paying. Yet despite this, due to the nature of their architecture being β€œshared”, rate-limitations and local mempool cannibalization are still a common sight. Last but not least, node authentication is done via the node URL itself. As a paying customer it’s in your best interest to keep this URL a secret to avoid anyone else from using the node on your dime!

JustCubes –

Yakuza –

Yakuza has a similar issue to JustCubes, as having a single-node setup with a poorly configured NginX Proxy can lead to multiple timeouts and can be easily saturated on high traffic mints. By using htpasswd (apache-utils simple password authentication) to handle authentication they also have the issue that anyone with the username and password can easily connect to the node. This can be viewed by looking at their RPC Url format:

ZapNode –

TrippyNode –

Ethspam ()

Ethspam is a compiled binary written in golang which generates an infinite stream of realistic read-only Ethereum JSONRPC queries.Per second, ethspam generates around 500,000 lines, or 120 megabytes of data, on a modern portable laptop.

These include: eth_call, eth_getTransactionReceipt, eth_getBalance, eth_getBlockByNumber, eth_getTransactionCount, eth_blockNumber, eth_getTransactionByHash, eth_getLogs, eth_getCode

While these queries are exactly what we want to send to our nodes for testing, we need to consider the fact that the nodes will respond with an error when making eth_getBalance calls using an address that isn’t on the allowlist. The GetBalance query is the only read call that is gated by these private nodes.

In order to build this fork, simple follow these commands:

cd ethspam

go install

When calling ethspam, all you need to do is:

$GOPATH/ethspam -f trippynode.json

Your json file should include a array of wallets you wish to use for testing

Versus ()

Versus takes a stream of requests and runs them against multiple endpoints simultaneously, comparing the output and timing.

In order to install versus:

tar -xzvf versus_1.0_linux_amd64.tar.gz

rm -rf versus_1.0_linux_amd64.tar.gz

sudo mv versus /usr/local/bin

In order to get closer to a realistic test, you can use @trippyFish to allow the use of submitting a json file of whitelisted addresses during runtime.

git clone

wget

πŸ“š
πŸͺ¨
Infura
Alchemy
QuickNode
justcubes.io
yakuzanode.io
https://poseidon:password@yakuzanode.io/
apechef.tools
moonbears.xyz
https://github.com/shazow/ethspam
fork ethspam
https://github.com/0xTajima/ethspam.git
https://github.com/INFURA/versus
https://github.com/INFURA/versus/releases/download/v1.0/versus_1.0_linux_amd64.tar.gz
http://a0d7915469f33f75a.awsglobalaccelerator.com
http://ec2-18-209-117-104.compute-1.amazonaws.com
http://ec2-35-172-181-78.compute-1.amazonaws.com
mining nodes
light nodes
archive nodes
Transaction in a Blockchain Flow