Implement the Scire (Latin for "to know/learn") contract providing universal education infrastructure for citizens: Core Features: - Education accounts: One per Vita holder (soul-bound learning account) - Learning credits: Annual allocation and spending system - Certifications: Skill verification with expiry/renewal support - Enrollments: Program enrollment with credit allocation Contract Methods: - Account management: createAccount, getAccount, allocateCredits, getCredits - Enrollment: enroll, completeEnrollment, withdrawEnrollment, getActiveEnrollment - Certification: issueCertification, revokeCertification, renewCertification - Query: verifyCertification, hasCertification, getConfig Cross-Contract Integration: - Vita: Account tied to Vita token (one person = one account) - Lex: Checks RightEducation via HasRightInternal (enforcement logging) - RoleRegistry: RoleEducator (ID 20) for institutional authorization - NEO: Committee authority for credit allocation State Types (pkg/core/state/scire.go): - EducationAccount, Certification, Enrollment, ScireConfig - Status enums for each entity type Technical Details: - Contract ID: -18 - Storage prefixes: 0x01-0x02 (accounts), 0x10-0x13 (certs), 0x20-0x23 (enrolls) - Fix: Use (uint64, bool) return for getVitaIDByOwner to properly handle TokenID 0 (first registered Vita) instead of using 0 as sentinel value 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .docker | ||
| .github | ||
| cli | ||
| config | ||
| docs | ||
| examples | ||
| internal | ||
| pkg | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| Dockerfile.wsc | ||
| LICENSE.md | ||
| Makefile | ||
| README.md | ||
| ROADMAP.md | ||
| codecov.yml | ||
| docker-compose.yml | ||
| go.mod | ||
| go.sum | ||
| tutus.service.template | ||
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