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.
Core features:
- Coin name: Zero Chill Units
- Coin symbol: ZCU
- EVM-compatible GETH-based chain
- Ethereum-style
0xaccounts - Native currency uses 18 decimals
- Scrypt proof-of-work
- AuxPoW / merged-mining support
- Custom mining RPC extensions for merged-mining pool integration
| 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:
ZCUAUX1ZCUAUXCOMMIT
Mining RPC extensions:
scrypt_createAuxBlockscrypt_submitAuxBlock
These mining RPC methods are intended for pool and merged-mining integration. They are not normal wallet RPC methods.
| 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 |
| 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 |
ZCU uses Ethereum-style accounts, so it can be added to MetaMask and other EVM-compatible wallets as a custom network.
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 |
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 |
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"]
}]
});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"]
}]
});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
sudo apt update
sudo apt install -y build-essential git golang make gcc g++Check Go:
go versionFrom the repository root:
cd source
make gethThe compiled binary should be created at:
./build/bin/gethCheck the binary:
./build/bin/geth versionExpected output should identify GETH and show the build version, Go version, operating system, and architecture.
The following example shows a local ZCU Testnet node setup. Adjust paths, ports, and peer configuration as needed for your environment.
cd source
make gethsudo mkdir -p /opt/zcu-testnet/node
sudo chown -R "$USER":"$USER" /opt/zcu-testnetUse 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./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,web3This 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.
Attach to the local node:
./build/bin/geth attach /opt/zcu-testnet/node/geth.ipcInside the console:
eth.chainId()Expected Testnet chain ID:
21231273
The following example shows a local ZCU Mainnet node setup. Adjust paths, ports, and peer configuration as needed for your environment.
cd source
make gethsudo mkdir -p /opt/zcu-mainnet/node
sudo chown -R "$USER":"$USER" /opt/zcu-mainnetUse 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./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,web3This 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.
Attach to the local node:
./build/bin/geth attach /opt/zcu-mainnet/node/geth.ipcInside the console:
eth.chainId()Expected Mainnet chain ID:
90031273
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.
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 gethRecommended 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.1unless 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.
Recommended security practices:
- Do not commit
.envfiles. - 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.
Use the applicable upstream and project license terms for this source tree. Review included source headers and license files before distribution.