NuFi is a groundbreaking Layer-0 Blockchain platform that provides the foundation for building scalable, high-performance blockchain solutions. Designed for enterprises, governments, and developers, NuFi is engineered to drive the next generation of decentralized applications (dApps) and distributed networks. Powered by the nufi-go
implementation, NuFi ensures unmatched speed, security, and customization, enabling organizations to optimize their operations, extend their reach, and unlock the full potential of blockchain technology.
- NuFi: Empowering Enterprises, Governments, and Developers
- Key Features of NuFi
- NuFi Ecosystem and Use Cases
- Why Choose NuFi?
- NuFi Technology: Fast, Safe, and Economical
nufi-go
Execution Layer- Introduction
- Building the Source
- Executables
- Running NuFi
- Programmatically Interfacing with NuFi
- Operating a Private Network
- NuFi Setup Instructions
- Monitoring and Troubleshooting
- Attaching to IPC
With a focus on ultra-high performance and flexibility, NuFi stands as the world's fastest blockchain platform, capable of handling 200,000 transactions per second (TPS). Whether you are an enterprise looking for scalable solutions, a government exploring secure digital infrastructure, or a developer seeking powerful tools to build innovative applications, NuFi provides the infrastructure you need to succeed.
NuFi delivers a developer-friendly, plug-and-play platform that allows industries and governing bodies to seamlessly deploy blockchain-based solutions. With support for both Layer-1 (L1) and Layer-2 (L2) chains, NuFi enables organizations to create tailored blockchain environments that fit their specific use cases. Its flexibility makes it ideal for a wide range of applications—from secure voting systems and tokenization to faster banking and seamless travel experiences.
NuFi's innovative design enables a lightning-fast transaction processing rate of 200,000 TPS, making it the fastest blockchain platform in the world. This speed ensures that your applications can handle even the most demanding workloads with ease, without compromising on security or reliability.
NuFi's sub-second block times (0.000005 seconds) guarantee near-instant transaction finality, reducing delays and improving the user experience for decentralized applications. This is critical for real-time applications like secure voting, online financial transactions, and IoT-based systems.
With transaction fees as low as 0.1 NUC, NuFi offers an extremely cost-effective platform for businesses and developers. This ensures that blockchain adoption remains affordable and accessible, even for large-scale enterprise deployments.
NuFi's platform is built with scalability in mind, allowing enterprises and governments to customize their blockchain infrastructure. Whether you need a public-facing network or a private enterprise solution, NuFi supports limitless innovation by enabling users to tailor their blockchain environment according to their specific needs.
Security is at the core of NuFi’s architecture. With robust cryptography, advanced consensus mechanisms, and a secure execution environment, NuFi ensures that your data and transactions are protected against tampering and malicious actors, making it the ideal platform for enterprises and governments alike.
NuFi's highly customizable framework allows users to deploy their own L1 or L2 chains, or integrate with existing systems. Developers have access to a suite of tools that simplify the process of building decentralized applications, including smart contract deployment, transaction management, and real-time data analytics.
-
Government Solutions: NuFi offers governments and intergovernmental organizations secure, compliant, and scalable blockchain infrastructure for public-facing applications such as digital voting, identity management, and land registration systems.
-
Enterprises: Enterprises can leverage NuFi to optimize business operations, enhance supply chain management, tokenize assets, and streamline payment systems. With customizable blockchain solutions, businesses can create solutions tailored to their specific needs.
-
Developers: NuFi provides a robust, developer-friendly platform that includes NuCode, an easy-to-use tool for building smart contracts, and NuWallet for secure transaction management. Developers can take advantage of NuFi's flexibility to create innovative dApps, automate processes, and integrate with existing enterprise systems.
-
Validators: NuFi encourages active participation in its ecosystem through its Validator network, where participants can earn rewards for validating transactions and securing the network. Validators play a critical role in maintaining the decentralized nature of NuFi, and their involvement is incentivized with attractive annual percentage yields (APY).
- Unmatched Speed: Achieve 200,000 TPS with near-instant transaction confirmations, ensuring that your application performs seamlessly at scale.
- End-to-End Security: Build on a secure, enterprise-grade platform with advanced encryption and tamper-proof features.
- Scalability: Leverage customizable blockchain solutions that can scale with your business or government’s needs.
- Low Fees: Enjoy transaction fees as low as 0.1 NUC, making blockchain accessible and cost-effective for everyone.
NuFi is the most efficient path to creating value through blockchain technology. It provides the fastest, safest, and most economical blockchain platform, ideal for building enterprise-level applications, public-sector solutions, and decentralized finance (DeFi) services. With 200K confirmations per second, sub-second block times, and low transaction fees, NuFi represents the future of blockchain infrastructure.
nufi-go
is the Go implementation of the NuFi protocol, designed as the core execution layer for the NuFi blockchain. It provides essential features for node synchronization, smart contract interaction, and full node management.
- Node Synchronization: Efficiently sync with the NuFi network, ensuring that your node is always up-to-date with the latest blocks.
- Smart Contract Interaction: Deploy, manage, and interact with smart contracts, enabling a wide range of blockchain applications.
- Full Node Management: Run and maintain a full node on the NuFi network, contributing to the security and decentralization of the ecosystem.
nufi-go
allows users to seamlessly integrate with the NuFi network, making it easier to build, deploy, and scale blockchain applications.
nufi-go
is the official Golang implementation for running the NuFi blockchain protocol. It allows you to sync, interact with, and deploy contracts on the NuFi network, whether on the main network or a private/test network.
This repository contains the source code, CLI tools, and utilities to operate and interface with the NuFi blockchain.
- API Reference | Go Report Card
- Automated Builds: Available for stable releases and the unstable master branch at https://nufi.org/downloads.
Before running nufi-go
, ensure you have the required dependencies:
- Go (version 1.22 or later)
- A C compiler (required for building some of the dependencies)
- Install Dependencies: Use your package manager to install Go and a C compiler.
- Clone the Repository: Clone the
nufi-go
repository to your local machine. - Build the Project:
- To build the core
nufi-go
project, use:make nufi-go
- To build the entire suite of utilities, use:
make all
- To build the core
The nufi-go project provides several command-line utilities located in the cmd
directory:
Command | Description |
---|---|
nufi |
Main NuFi CLI client for interacting with the network. Supports full, archive, and light node configurations. |
clef |
Stand-alone signing tool, usable as a backend signer for nufi . |
devp2p |
Networking utilities for node interaction, without running a full blockchain. |
abigen |
Contract source code generator for creating Go bindings for NuFi contracts. |
nvm |
Developer utility for running bytecode snippets in a configurable execution environment. |
rlpdump |
Converts binary RLP (Recursive Length Prefix) data to a hierarchical, user-friendly representation. |
This section covers how to run nufi on various networks and configurations.
Minimum:
- 2+ CPU cores
- 4GB RAM
- 1TB storage space (Mainnet sync)
- 8 Mbit/sec download speed
Recommended:
- 4+ CPU cores
- 16GB+ RAM
- High-performance SSD with at least 1TB of free space
- 25+ Mbit/sec download speed
To sync with the main NuFi network and start interacting with it:
$ nufi console
This command will:
- Start
nufi
in snap sync mode (fast synchronization, avoiding processing the full history of the network). - Open the built-in JavaScript console to interact with the network and smart contracts.
For development purposes, you can join the Holesky test network instead of the main network:
$ nufi --holesky console
This command will:
- Connect your node to the Holesky test network.
- Use a separate data directory for the test network.
To avoid passing flags directly to the command line, you can use a configuration file:
$ nufi --config /path/to/your_config.toml
You can generate a configuration file using:
$ nufi --your-favourite-flags dumpconfig
If you want a fast way to start NuFi without worrying about dependencies:
docker run -d --name nufi-node -v /Users/alice/nufi:/root \
-p 8545:8545 -p 30303:30303 \
nufi/client-go
This will:
- Start nufi in snap-sync mode.
- Map required ports (8545 for HTTP and 30303 for P2P).
- Create a persistent volume in your home directory for blockchain data.
For developers wishing to interface with NuFi nodes programmatically, nufi-go supports JSON-RPC-based APIs exposed via HTTP, WebSocket, and IPC.
--http Enable the HTTP-RPC server
--http.addr HTTP-RPC server listening interface (default: localhost)
--http.port HTTP-RPC server listening port (default: 8501)
--http.api API's offered over the HTTP-RPC interface (default: nufi,net,web3)
--ws Enable the WS-RPC server
--ws.addr WS-RPC server listening interface (default: localhost)
--ws.port WS-RPC server listening port (default: 8546)
--ipcdisable Disable the IPC-RPC server
--ipcapi API's offered over the IPC-RPC interface (default: admin,debug,nufi,net,web3)
Running your own private network involves several steps, including configuring the genesis state, initializing nodes, and connecting them together.
Create a genesis.json
file to define the initial state of your network. A simple example:
{
"config": {
"chainId": 12345,
"homesteadBlock": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"nufi": {
"period": 1,
"epoch": 2
}
},
"nonce": "0x0",
"timestamp": "0x5e9da7ce",
"gasLimit": "0x2625a00",
"difficulty": "0x200000"
}
To start a node with your custom genesis file:
$ nufi --datadir /path/to/data init genesis.json
$ nufi --datadir /path/to/data --syncmode 'full' --port 30302 --http --http.addr 0.0.0.0 --http.port 8576 --http.api 'nufi,net,web3' --unlock 0xYourAccountAddress --password password.txt --mine
To simulate a private network, you can run multiple nodes. Each node will use a different data directory and port.
$ nufi --datadir data1 init genesis.json
$ nufi --datadir data1 --syncmode 'full' --port 30302 --http --http.addr 0.0.0.0 --http.port 8576 --http.api 'nufi,net,web3' --unlock 0xYourAccountAddress --password password.txt --mine
$ nufi --datadir data2 init genesis.json
$ nufi --datadir data2 --syncmode 'full' --port 30303 --http --http.addr 0.0.0.0 --http.port 8577 --http.api 'nufi,net,web3' --bootnodes enode://yourBootstrapNodeURL
Repeat the process for additional nodes.
To add updates to the code:
git add . && git commit -m "Updated the NuFi code on 08 Jan 2024 build successful and running fine V1.0. - By Dhanraj" && git push
To ensure everything is up-to-date, use the following commands:
clear && go clean && go get && go build && go mod tidy
To create new accounts for your nodes, use the following commands for each data directory:
cd cmd/nufi && ./nufi --datadir data0 account new
cd cmd/nufi && ./nufi --datadir data1 account new
cd cmd/nufi && ./nufi --datadir data2 account new
cd cmd/nufi && ./nufi --datadir data3 account new
cd cmd/nufi && ./nufi --datadir data4 account new
To run multiple nodes, follow these steps:
-
Initialize the data directories (if not already initialized):
cd cmd/nufi && rm -rf data0/nufi/ && ./nufi --datadir data0 init genesis.json
-
Start each node with the following commands (example for multiple nodes):
cd cmd/nufi && ./nufi --datadir data0 --syncmode 'full' --port 30302 --http --http.addr 0.0.0.0 --http.port 8576 --http.api 'nufi,net,web3' --unlock 0x9AefF17cdA346503fFB334aE18f63BF819134466 --password password.txt --mine --miner.etherbase="0x9AefF17cdA346503fFB334aE18f63BF819134466" --metrics console
(Repeat for other nodes, modifying ports, unlock addresses, etc.)
Use the --metrics console
flag to monitor the node logs and ensure nodes are syncing and mining correctly.
To monitor peer connections and node interactions, use:
admin.peers
nufi.txpool
Check transaction status using:
nufi.getTransactionReceipt("0x72463e23d2ba7630a51becd47ea7293c9c435b195ecac40f6b74c9732a65b312")
To interact with a node through IPC (Inter-Process Communication), use the following command:
cd cmd/nufi && ./nufi attach ./root/nufi.ipc
If you're running NuFi on macOS, ensure you have the correct permissions to access the .ipc
file, then use the same attach command:
cd cmd/nufi && ./nufi attach ./root/nufi.ipc
Running nufi
on iOS directly is not typical due to system limitations, but you can use remote access or cloud infrastructure to interact with an iOS-compatible client.
Steps:
- Setup a cloud instance (e.g., AWS EC2, DigitalOcean, etc.) running the NuFi node.
- Install a compatible terminal app on your iOS device that can SSH into the cloud server.
- SSH into your server and run the command to attach to the node:
ssh -i /path/to/key.pem user@your-cloud-ip
cd cmd
/nufi && ./nufi attach ./root/nufi.ipc
This guide empowers you to interact with the NuFi node's state directly from your iOS device by securely attaching via SSH, offering seamless connectivity and management.
Through this comprehensive guide, you will gain in-depth knowledge of setting up and operating NuFi. Whether you're configuring a private network, managing a full node, or establishing remote connections, this document equips you with everything you need to optimize and fully leverage NuFi's capabilities for your blockchain applications.