Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Zero Chill Units / ZCU GETH

Zero Chill Units, or ZCU, is an interdependent yet EVM-compatible blockchain built from GETH with Scrypt proof-of-work and AuxPoW / merged-mining support.

ZCU provides an Ethereum-compatible execution environment while supporting Scrypt mining and merged-mining pool integration.


1. Overview

Core features:

  • Coin name: Zero Chill Units
  • Coin symbol: ZCU
  • EVM-compatible GETH-based chain
  • Ethereum-style 0x accounts
  • Native currency uses 18 decimals
  • Scrypt proof-of-work
  • AuxPoW / merged-mining support
  • Custom mining RPC extensions for merged-mining pool integration

2. Coin Specification

Field Value
Coin name Zero Chill Units
Symbol ZCU
Decimals 18
Block reward 212 ZCU
Target block time 180 seconds / 3 minutes
Retarget interval 40 blocks
Retarget timespan 7200 seconds
Retarget clamp 4x
Consensus Scrypt PoW
Merged mining AuxPoW supported
Account format Ethereum-style 0x addresses

AuxPoW / merged-mining markers:

  • ZCUAUX1
  • ZCUAUXCOMMIT

Mining RPC extensions:

  • scrypt_createAuxBlock
  • scrypt_submitAuxBlock

These mining RPC methods are intended for pool and merged-mining integration. They are not normal wallet RPC methods.


3. Public Networks

3.1 ZCU Testnet

Field Value
Network name ZCU Testnet
Chain ID 21231273
Chain ID hex 0x143f6a9
Currency symbol ZCU
Decimals 18
RPC URL https://rpc-testnet.zerochill.com
Explorer URL https://scan-testnet.zerochill.com

3.2 ZCU Mainnet

Field Value
Network name ZCU Mainnet
Chain ID 90031273
Chain ID hex 0x55dc4a9
Currency symbol ZCU
Decimals 18
RPC URL https://rpc.zerochill.com
Explorer URL https://scan.zerochill.com

4. Add ZCU to MetaMask or Other EVM Wallets

ZCU uses Ethereum-style accounts, so it can be added to MetaMask and other EVM-compatible wallets as a custom network.

4.1 Add ZCU Testnet Manually

Open MetaMask and go to:

Settings -> Networks -> Add network -> Add a network manually

Use the following values:

Field Value
Network name ZCU Testnet
New RPC URL https://rpc-testnet.zerochill.com
Chain ID 21231273
Currency symbol ZCU
Block explorer URL https://scan-testnet.zerochill.com

4.2 Add ZCU Mainnet Manually

Open MetaMask and go to:

Settings -> Networks -> Add network -> Add a network manually

Use the following values:

Field Value
Network name ZCU Mainnet
New RPC URL https://rpc.zerochill.com
Chain ID 90031273
Currency symbol ZCU
Block explorer URL https://scan.zerochill.com

4.3 Add ZCU Testnet Programmatically

Web applications can request MetaMask or another EVM wallet to add ZCU Testnet with:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x143f6a9",
    chainName: "ZCU Testnet",
    nativeCurrency: {
      name: "Zero Chill Units",
      symbol: "ZCU",
      decimals: 18
    },
    rpcUrls: ["https://rpc-testnet.zerochill.com"],
    blockExplorerUrls: ["https://scan-testnet.zerochill.com"]
  }]
});

4.4 Add ZCU Mainnet Programmatically

Web applications can request MetaMask or another EVM wallet to add ZCU Mainnet with:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x55dc4a9",
    chainName: "ZCU Mainnet",
    nativeCurrency: {
      name: "Zero Chill Units",
      symbol: "ZCU",
      decimals: 18
    },
    rpcUrls: ["https://rpc.zerochill.com"],
    blockExplorerUrls: ["https://scan.zerochill.com"]
  }]
});

5. Build ZCU GETH

5.1 Requirements

Recommended build environment:

  • Linux x86_64
  • Go 1.21.x
  • GNU Make
  • GCC / build-essential

The source has been build-tested with:

Go version: go1.21.13
Target OS: linux
Target arch: amd64

5.2 Install Dependencies on Ubuntu 22.04

sudo apt update
sudo apt install -y build-essential git golang make gcc g++

Check Go:

go version

5.3 Compile GETH

From the repository root:

cd source
make geth

The compiled binary should be created at:

./build/bin/geth

Check the binary:

./build/bin/geth version

Expected output should identify GETH and show the build version, Go version, operating system, and architecture.


6. Run a ZCU Testnet Node

The following example shows a local ZCU Testnet node setup. Adjust paths, ports, and peer configuration as needed for your environment.

6.1 Build GETH

cd source
make geth

6.2 Create a Testnet Data Directory

sudo mkdir -p /opt/zcu-testnet/node
sudo chown -R "$USER":"$USER" /opt/zcu-testnet

6.3 Initialize the Testnet Genesis

Use the ZCU Testnet genesis file provided by the project or deployment package.

./build/bin/geth init   --datadir /opt/zcu-testnet/node   /path/to/zcu-testnet-genesis.json

6.4 Start a Testnet Node

./build/bin/geth   --datadir /opt/zcu-testnet/node   --networkid 21231273   --port 31347   --syncmode full   --snapshot=false   --http   --http.addr 127.0.0.1   --http.port 8747   --http.api eth,net,web3,miner,admin,scrypt   --ws   --ws.addr 127.0.0.1   --ws.port 8748   --ws.api eth,net,web3

This example binds RPC and WebSocket services to 127.0.0.1 only. Do not expose unlocked or administrative RPC endpoints directly to the public internet.

6.5 Confirm Testnet Chain ID

Attach to the local node:

./build/bin/geth attach /opt/zcu-testnet/node/geth.ipc

Inside the console:

eth.chainId()

Expected Testnet chain ID:

21231273

7. Run a ZCU Mainnet Node

The following example shows a local ZCU Mainnet node setup. Adjust paths, ports, and peer configuration as needed for your environment.

7.1 Build GETH

cd source
make geth

7.2 Create a Mainnet Data Directory

sudo mkdir -p /opt/zcu-mainnet/node
sudo chown -R "$USER":"$USER" /opt/zcu-mainnet

7.3 Initialize the Mainnet Genesis

Use the ZCU Mainnet genesis file provided by the project or deployment package.

./build/bin/geth init   --datadir /opt/zcu-mainnet/node   /path/to/zcu-mainnet-genesis.json

7.4 Start a Mainnet Node

./build/bin/geth   --datadir /opt/zcu-mainnet/node   --networkid 90031273   --port 30347   --syncmode full   --snapshot=false   --http   --http.addr 127.0.0.1   --http.port 8547   --http.api eth,net,web3,miner,admin,scrypt   --ws   --ws.addr 127.0.0.1   --ws.port 8548   --ws.api eth,net,web3

This example keeps RPC and WebSocket services bound to localhost. If public RPC access is required, place it behind a properly configured reverse proxy, firewall, and rate limiter.

7.5 Confirm Mainnet Chain ID

Attach to the local node:

./build/bin/geth attach /opt/zcu-mainnet/node/geth.ipc

Inside the console:

eth.chainId()

Expected Mainnet chain ID:

90031273

8. Mining and AuxPoW Notes

ZCU supports Scrypt proof-of-work with AuxPoW merged-mining support.

Mining and pool integration use custom Scrypt AuxPoW RPC methods:

scrypt_createAuxBlock
scrypt_submitAuxBlock

AuxPoW commitment markers:

ZCUAUX1
ZCUAUXCOMMIT

These are intended for compatible pool software and merged-mining infrastructure. Ordinary users adding ZCU to MetaMask or running a non-mining node do not need to use these methods directly.


9. Repository Layout

source/
  cmd/
  consensus/
  core/
  eth/
  miner/
  params/
  signer/
  build/

docs/
  SECURITY-NOTES.md
  CREDENTIAL-SCAN-NOTES.md

README.md

Main source code is under:

source/

Build from:

cd source
make geth

10. Operational Notes

Recommended node operation practices:

  • Use separate data directories for testnet and mainnet.
  • Use separate ports for testnet and mainnet nodes.
  • Keep RPC bound to 127.0.0.1 unless intentionally publishing it.
  • Put public RPC behind a reverse proxy and firewall.
  • Do not expose administrative APIs publicly.
  • Do not expose unlocked accounts over RPC.
  • Keep keys, keystores, node keys, and runtime secrets outside the repository.
  • Back up keys securely before running production infrastructure.

11. Security Notes

Recommended security practices:

  • Do not commit .env files.
  • Do not commit wallet files.
  • Do not commit keystore files.
  • Do not commit node keys.
  • Do not commit TLS/private key files.
  • Do not commit runtime configs containing credentials.
  • Do not expose admin, miner, personal, or other sensitive RPC APIs publicly.
  • Use HTTPS for public RPC endpoints.
  • Use firewall rules and rate limiting for public infrastructure.
  • Review RPC exposure carefully before enabling mining or administrative methods.

12. License

Use the applicable upstream and project license terms for this source tree. Review included source headers and license files before distribution.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages