Tutus blockchain - sovereign government blockchain
Go to file
Tutus Development a18363ce0b Add Annos lifespan contract and Eligere voting age integration
Implement the Annos (Latin for "years") contract for tracking citizen
lifespan and age-based entitlements:

Annos Contract (pkg/core/native/annos.go):
- LifespanRecord tracks birth/death timestamps per Vita holder
- Age calculation from birthTimestamp (provided during registration)
- Life stages: Child (0-17), Youth (18-25), Adult (26-64), Elder (65+)
- Entitlement checks: isVotingAge, isAdult, isRetirementAge, isAlive
- recordDeath method (committee only) for mortality tracking
- Cross-contract methods for internal use by other contracts

State Types (pkg/core/state/annos.go):
- LifeStage, LifespanStatus enums
- LifespanRecord, AnnosConfig structs with serialization

Vita Integration:
- Updated register() to accept birthTimestamp parameter
- birthTimestamp is the actual birth date, NOT the mint date
- Calls Annos.RegisterBirthInternal() after minting Vita
- Enables existing adults to register with their real birth date

Eligere Integration:
- Added Annos IAnnos field to Eligere struct
- Added voting age check in vote() method
- Voters must be 18+ (configurable via AnnosConfig.VotingAge)
- New ErrUnderVotingAge error for underage voters

Contract Wiring:
- Added eligere.Annos = annos in NewDefaultContracts()
- Contract ID: -26 (next after Collocatio)

Tests (pkg/core/native/native_test/annos_test.go):
- 17 comprehensive tests covering all Annos functionality
- Age-based tests for Child, Youth, Adult life stages
- Note: Elder test skipped (uint64 can't represent pre-1970 dates)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 00:55:29 +00:00
.docker Add Docker support for Tutus 2025-12-19 15:02:00 +00:00
.github Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
cli Rename NEO to Annos and GAS to Lub native contracts 2025-12-20 11:34:42 +00:00
config Add Instance Beta for bridge testing 2025-12-19 15:29:28 +00:00
docs Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
examples Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
internal Rename NEO to Annos and GAS to Lub native contracts 2025-12-20 11:34:42 +00:00
pkg Add Annos lifespan contract and Eligere voting age integration 2025-12-21 00:55:29 +00:00
scripts Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
.dockerignore Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
.gitignore Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
.gitmodules Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
CHANGELOG.md Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
CONTRIBUTING.md Update all imports from neo-go to tutus-chain 2025-12-19 14:28:17 +00:00
Dockerfile Add Docker support for Tutus 2025-12-19 15:02:00 +00:00
Dockerfile.wsc Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
LICENSE.md Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
Makefile Fix build: update branding and local interop module 2025-12-19 14:58:36 +00:00
README.md Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
ROADMAP.md Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
codecov.yml Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00
docker-compose.yml Add Instance Beta for bridge testing 2025-12-19 15:29:28 +00:00
go.mod Fix build: update branding and local interop module 2025-12-19 14:58:36 +00:00
go.sum Fix build: update branding and local interop module 2025-12-19 14:58:36 +00:00
tutus.service.template Initial Tutus chain fork from NeoGo 2025-12-19 14:23:04 +00:00

README.md

Tutus Chain

Sovereign blockchain platform for government deployments. Forked from NeoGo.

Website: tutus.one License: Apache 2.0

Overview

Tutus is an independent blockchain designed for government-grade deployments with:

  • Sovereign instances - Each government runs their own chain
  • 1-second blocks - Fast finality with dBFT consensus
  • 7 validators - Government-controlled consensus nodes
  • Zero gas for citizens - Native contracts subsidize operations
  • Inter-government bridge - Optional cross-border interoperability

Building

Requires Go 1.24+ and make:

make build

The resulting binary is bin/tutus.

Running a Node

Start a Tutus node:

./bin/tutus node --config-file ./config/protocol.tutus.yml

For testnet:

./bin/tutus node --config-file ./config/protocol.tutus.testnet.yml

Network Flags

  • --tutus - Tutus mainnet (government deployment)
  • --tutus-testnet - Tutus testnet

Configuration

Network configurations are in ./config/:

File Purpose
protocol.tutus.yml Production government deployment
protocol.tutus.testnet.yml Development testnet

Docker

docker build -t tutus-chain .
docker run -d --name tutus -p 10333:10333 -p 10332:10332 tutus-chain

Native Contracts (Planned)

The following will be built into the Tutus protocol:

Contract Purpose
PersonToken Soul-bound identity
Scire Universal education
Salus Universal healthcare
Sese Life planning
Tribute Anti-hoarding economics
VTS Government stablecoin
Eligere Democratic voting

Validator Setup

See docs/validator.md for government validator deployment.

Origin

Tutus is forked from NeoGo, the Go implementation of the Neo N3 blockchain. We maintain compatibility with the Neo VM while extending the protocol for government use cases.

License

Apache 2.0 - See LICENSE.md